

<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8" />
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  
  <title>Display interface &mdash; LVGL  documentation</title>
  

  
  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../_static/css/custom.css" type="text/css" />
  <link rel="stylesheet" href="../_static/css/fontawesome.min.css" type="text/css" />

  
  
    <link rel="shortcut icon" href="../_static/favicon.png"/>
  

  
  

  
    <link rel="canonical" href="https://docs.lvgl.io/master/en/html/porting/display.html" />

  
  <!--[if lt IE 9]>
    <script src="../_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
        <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
        <script src="../_static/jquery.js"></script>
        <script src="../_static/underscore.js"></script>
        <script src="../_static/doctools.js"></script>
    
    <script type="text/javascript" src="../_static/js/theme.js"></script>

    
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Input device interface" href="indev.html" />
    <link rel="prev" title="Set up a project" href="project.html" />
 
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-78811084-3"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

	gtag('config', 'UA-78811084-3', { 'anonymize_ip': true });
</script>

</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="../index.html">
          

          
            
            <img src="../_static/logo_lvgl.png" class="logo" alt="Logo"/>
          
          </a>

          
            
            
              <div class="version">
                8.1
              </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        
        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../intro/index.html">Introduction</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../intro/index.html#key-features">Key features</a></li>
<li class="toctree-l2"><a class="reference internal" href="../intro/index.html#requirements">Requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="../intro/index.html#license">License</a></li>
<li class="toctree-l2"><a class="reference internal" href="../intro/index.html#repository-layout">Repository layout</a></li>
<li class="toctree-l2"><a class="reference internal" href="../intro/index.html#release-policy">Release policy</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#release-cycle">Release cycle</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#branches">Branches</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#changelog">Changelog</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#version-support">Version support</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../intro/index.html#faq">FAQ</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#where-can-i-ask-questions">Where can I ask questions?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#is-my-mcu-hardware-supported">Is my MCU/hardware supported?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#is-my-display-supported">Is my display supported?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#lvgl-doesn-t-start-randomly-crashes-or-nothing-is-drawn-on-the-display-what-can-be-the-problem">LVGL doesn't start, randomly crashes or nothing is drawn on the display. What can be the problem?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#my-display-driver-is-not-called-what-have-i-missed">My display driver is not called. What have I missed?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#why-is-the-display-driver-called-only-once-only-the-upper-part-of-the-display-is-refreshed">Why is the display driver called only once? Only the upper part of the display is refreshed.</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#why-do-i-see-only-garbage-on-the-screen">Why do I see only garbage on the screen?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#why-do-i-see-nonsense-colors-on-the-screen">Why do I see nonsense colors on the screen?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#how-to-speed-up-my-ui">How to speed up my UI?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#how-to-reduce-flash-rom-usage">How to reduce flash/ROM usage?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#how-to-reduce-the-ram-usage">How to reduce the RAM usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../intro/index.html#how-to-work-with-an-operating-system">How to work with an operating system?</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../examples.html">Examples</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../examples.html#get-started">Get started</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#a-button-with-a-label-and-react-on-click-event">A button with a label and react on click event</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#create-styles-from-scratch-for-buttons">Create styles from scratch for buttons</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#create-a-slider-and-write-its-value-on-a-label">Create a slider and write its value on a label</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../examples.html#styles">Styles</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#size-styles">Size styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#background-styles">Background styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#border-styles">Border styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#outline-styles">Outline styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#shadow-styles">Shadow styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#image-styles">Image styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#text-styles">Text styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#line-styles">Line styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#transition">Transition</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#using-multiple-styles">Using multiple styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#local-styles">Local styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#add-styles-to-parts-and-states">Add styles to parts and states</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#extending-the-current-theme">Extending the current theme</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../examples.html#animations">Animations</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#start-animation-on-an-event">Start animation on an event</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#playback-animation">Playback animation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#animation-timeline">Animation timeline</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../examples.html#events">Events</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#button-click-event">Button click event</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#handle-multiple-events">Handle multiple events</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#event-bubbling">Event bubbling</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../examples.html#layouts">Layouts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#flex">Flex</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#a-simple-row-and-a-column-layout-with-flexbox">A simple row and a column layout with flexbox</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#arrange-items-in-rows-with-wrap-and-even-spacing">Arrange items in rows with wrap and even spacing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#demonstrate-flex-grow">Demonstrate flex grow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#id1">Demonstrate flex grow.</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#demonstrate-column-and-row-gap-style-properties">Demonstrate column and row gap style properties</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#rtl-base-direction-changes-order-of-the-items">RTL base direction changes order of the items</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#grid">Grid</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#a-simple-grid">A simple grid</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#demonstrate-cell-placement-and-span">Demonstrate cell placement and span</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#demonstrate-grid-s-free-unit">Demonstrate grid's &quot;free unit&quot;</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#demonstrate-track-placement">Demonstrate track placement</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#demonstrate-column-and-row-gap">Demonstrate column and row gap</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#demonstrate-rtl-direction-on-grid">Demonstrate RTL direction on grid</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../examples.html#scrolling">Scrolling</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#nested-scrolling">Nested scrolling</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#snapping">Snapping</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#floating-button">Floating button</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#styling-the-scrollbars">Styling the scrollbars</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#right-to-left-scrolling">Right to left scrolling</a></li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#translate-on-scroll">Translate on scroll</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../examples.html#widgets">Widgets</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#base-object">Base object</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#base-objects-with-custom-styles">Base objects with custom styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#make-an-object-draggable">Make an object draggable</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#arc">Arc</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-arc">Simple Arc</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#loader-with-arc">Loader with Arc</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#bar">Bar</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-bar">Simple Bar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#styling-a-bar">Styling a bar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#temperature-meter">Temperature meter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#stripe-pattern-and-range-value">Stripe pattern and range value</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#bar-with-ltr-and-rtl-base-direction">Bar with LTR and RTL base direction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#custom-drawer-to-show-the-current-value">Custom drawer to show the current value</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#button">Button</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-buttons">Simple Buttons</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#styling-buttons">Styling buttons</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#gummy-button">Gummy button</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#button-matrix">Button matrix</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-button-matrix">Simple Button matrix</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#custom-buttons">Custom buttons</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#pagination">Pagination</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#calendar">Calendar</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#calendar-with-header">Calendar with header</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#canvas">Canvas</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#drawing-on-the-canvas-and-rotate">Drawing on the Canvas and rotate</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#transparent-canvas-with-chroma-keying">Transparent Canvas with chroma keying</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#chart">Chart</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#line-chart">Line Chart</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#faded-area-line-chart-with-custom-division-lines">Faded area line chart with custom division lines</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#axis-ticks-and-labels-with-scrolling">Axis ticks and labels with scrolling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#show-the-value-of-the-pressed-points">Show the value of the pressed points</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#display-1000-data-points-with-zooming-and-scrolling">Display 1000 data points with zooming and scrolling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#show-cursor-on-the-clicked-point">Show cursor on the clicked point</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#scatter-chart">Scatter chart</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#stacked-area-chart">Stacked area chart</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#checkbox">Checkbox</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-checkboxes">Simple Checkboxes</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#checkboxes-as-radio-buttons">Checkboxes as radio buttons</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#colorwheel">Colorwheel</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-colorwheel">Simple Colorwheel</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#dropdown">Dropdown</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-drop-down-list">Simple Drop down list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#drop-down-in-four-directions">Drop down in four directions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#menu">Menu</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#image">Image</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#image-from-variable-and-symbol">Image from variable and symbol</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#image-recoloring">Image recoloring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#rotate-and-zoom">Rotate and zoom</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#image-offset-and-styling">Image offset and styling</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#image-button">Image button</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-image-button">Simple Image button</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#keyboard">Keyboard</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#keyboard-with-text-area">Keyboard with text area</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#label">Label</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#line-wrap-recoloring-and-scrolling">Line wrap, recoloring and scrolling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#text-shadow">Text shadow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#show-ltr-rtl-and-chinese-texts">Show LTR, RTL and Chinese texts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#draw-label-with-gradient-color">Draw label with gradient color</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#led">LED</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#led-with-custom-style">LED with custom style</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#line">Line</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-line">Simple Line</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#list">List</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-list">Simple List</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#sorting-a-list-using-up-and-down-buttons">Sorting a List using up and down buttons</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#id2">Menu</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-menu">Simple Menu</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-menu-with-root-btn">Simple Menu with root btn</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-menu-with-custom-header">Simple Menu with custom header</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-menu-with-floating-btn-to-add-new-menu-page">Simple Menu with floating btn to add new menu page</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#complex-menu">Complex Menu</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#meter">Meter</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-meter">Simple meter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#a-meter-with-multiple-arcs">A meter with multiple arcs</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#a-clock-from-a-meter">A clock from a meter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#pie-chart">Pie chart</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#message-box">Message box</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-message-box">Simple Message box</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#roller">Roller</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-roller">Simple Roller</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#styling-the-roller">Styling the roller</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#add-fade-mask-to-roller">add fade mask to roller</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#slider">Slider</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-slider">Simple Slider</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#slider-with-custom-style">Slider with custom style</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#slider-with-extended-drawer">Slider with extended drawer</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#span">Span</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#span-with-custom-styles">Span with custom styles</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#spinbox">Spinbox</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-spinbox">Simple Spinbox</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#spinner">Spinner</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-spinner">Simple spinner</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#switch">Switch</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-switch">Simple Switch</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#table">Table</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-table">Simple table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#lightweighted-list-from-table">Lightweighted list from table</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#tabview">Tabview</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-tabview">Simple Tabview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#tabs-on-the-left-styling-and-no-scrolling">Tabs on the left, styling and no scrolling</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#textarea">Textarea</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-text-area">Simple Text area</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#text-area-with-password-field">Text area with password field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#text-auto-formatting">Text auto-formatting</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#id3">Tabview</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#tileview-with-content">Tileview with content</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../examples.html#window">Window</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../examples.html#simple-window">Simple window</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../get-started/index.html">Get started</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../get-started/quick-overview.html">Quick overview</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/quick-overview.html#get-started-in-a-simulator">Get started in a simulator</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/quick-overview.html#add-lvgl-into-your-project">Add LVGL into your project</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/quick-overview.html#learn-the-basics">Learn the basics</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/quick-overview.html#widgets">Widgets</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/quick-overview.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/quick-overview.html#parts">Parts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/quick-overview.html#states">States</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/quick-overview.html#styles">Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/quick-overview.html#themes">Themes</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/quick-overview.html#examples">Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/quick-overview.html#a-button-with-a-label-and-react-on-click-event">A button with a label and react on click event</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/quick-overview.html#create-styles-from-scratch-for-buttons">Create styles from scratch for buttons</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/quick-overview.html#create-a-slider-and-write-its-value-on-a-label">Create a slider and write its value on a label</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/quick-overview.html#micropython">Micropython</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/pc-simulator.html">Simulator on PC</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/pc-simulator.html#select-an-ide">Select an IDE</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/pc-simulator.html#set-up-eclipse-cdt">Set-up Eclipse CDT</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/pc-simulator.html#install-eclipse-cdt">Install Eclipse CDT</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/pc-simulator.html#install-sdl-2">Install SDL 2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/pc-simulator.html#pre-configured-project">Pre-configured project</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/pc-simulator.html#add-the-pre-configured-project-to-eclipse-cdt">Add the pre-configured project to Eclipse CDT</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/pc-simulator.html#compile-and-run">Compile and Run</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/stm32.html">STM32</a></li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/nxp.html">NXP</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/nxp.html#creating-new-project-with-lvgl">Creating new project with LVGL</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/nxp.html#adding-hw-acceleration-for-nxp-imx-rt-platforms-using-pxp-pixel-pipeline-engine-for-existing-projects">Adding HW acceleration for NXP iMX RT platforms using PXP (PiXel Pipeline) engine for existing projects</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nxp.html#features-supported">Features supported:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nxp.html#basic-configuration">Basic configuration:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nxp.html#basic-initialization">Basic initialization:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nxp.html#project-setup">Project setup:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nxp.html#advanced-configuration">Advanced configuration:</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/espressif.html">Espressif (ESP32 chip series)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/espressif.html#lvgl-demo-project-for-esp32">LVGL demo project for ESP32</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/espressif.html#using-lvgl-in-your-esp-idf-project">Using LVGL in your ESP-IDF project</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/espressif.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/espressif.html#obtaining-lvgl">Obtaining LVGL</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/espressif.html#configuration">Configuration</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/espressif.html#using-lvgl-esp32-drivers-in-esp-idf-project">Using lvgl_esp32_drivers in ESP-IDF project</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/arduino.html">Arduino</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/arduino.html#get-the-lvgl-arduino-library">Get the LVGL Arduino library</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/arduino.html#set-up-drivers">Set up drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/arduino.html#configure-lvgl">Configure LVGL</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/arduino.html#initialize-and-run-lvgl">Initialize and run LVGL</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/arduino.html#use-the-examples-and-demos">Use the examples and demos</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/arduino.html#debugging-and-logging">Debugging and logging</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/micropython.html">Micropython</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/micropython.html#what-is-micropython">What is Micropython?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/micropython.html#highlights-of-micropython">Highlights of Micropython</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/micropython.html#why-micropython-lvgl">Why Micropython + LVGL?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/micropython.html#here-are-some-advantages-of-using-lvgl-in-micropython">Here are some advantages of using LVGL in Micropython:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/micropython.html#micropython-lvgl-could-be-used-for">Micropython + LVGL could be used for:</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/micropython.html#so-what-does-it-look-like">So what does it look like?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/micropython.html#a-simple-example">A simple example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/micropython.html#how-can-i-use-it">How can I use it?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/micropython.html#online-simulator">Online Simulator</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/micropython.html#pc-simulator">PC Simulator</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/micropython.html#embedded-platform">Embedded platform</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/micropython.html#where-can-i-find-more-information">Where can I find more information?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/tasmota-berry.html">Tasmota and berry</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/tasmota-berry.html#what-is-tasmota">What is Tasmota?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/tasmota-berry.html#what-is-berry">What is Berry?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/tasmota-berry.html#highlights-of-berry">Highlights of Berry</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/tasmota-berry.html#why-lvgl-tasmota-berry">Why LVGL + Tasmota + Berry?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/tasmota-berry.html#tasmota-berry-lvgl-could-be-used-for">Tasmota + Berry + LVGL could be used for:</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/tasmota-berry.html#so-what-does-it-look-like">So what does it look like?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/tasmota-berry.html#a-simple-example">A simple example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/tasmota-berry.html#how-can-i-use-it">How can I use it?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/tasmota-berry.html#where-can-i-find-more-information">Where can I find more information?</a><ul>
<li class="toctree-l4"><a class="reference external" href="https://tasmota.github.io/docs/">Tasmota Documentation</a></li>
<li class="toctree-l4"><a class="reference external" href="https://github.com/berry-lang/berry/wiki/Reference">Berry Documentation</a></li>
<li class="toctree-l4"><a class="reference external" href="https://tasmota.github.io/docs/LVGL/">Tasmota LVGL Berry documentation</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/nuttx.html">NuttX RTOS</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/nuttx.html#what-is-nuttx">What is NuttX?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nuttx.html#highlights-of-nuttx">Highlights of NuttX</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/nuttx.html#why-nuttx-lvgl">Why NuttX + LVGL?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nuttx.html#here-are-some-advantages-of-using-lvgl-in-nuttx">Here are some advantages of using LVGL in NuttX</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nuttx.html#nuttx-lvgl-could-be-used-for">NuttX + LVGL could be used for</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/nuttx.html#how-to-get-started-with-nuttx-and-lvgl">How to get started with NuttX and LVGL?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nuttx.html#first-you-need-to-install-the-pre-requisites-on-your-system">First you need to install the pre-requisites on your system</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nuttx.html#now-let-s-create-a-workspace-to-save-our-files">Now let's create a workspace to save our files</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nuttx.html#clone-the-nuttx-and-apps-repositories">Clone the NuttX and Apps repositories:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nuttx.html#configure-nuttx-to-use-the-stm32f429i-disco-board-and-the-lvgl-demo">Configure NuttX to use the stm32f429i-disco board and the LVGL Demo</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/nuttx.html#flashing-the-firmware-in-the-board-using-openocd">Flashing the firmware in the board using OpenOCD:</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/nuttx.html#where-can-i-find-more-information">Where can I find more information?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/rt-thread.html">RT-Thread RTOS</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/rt-thread.html#what-is-rt-thread">What is RT-Thread?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/rt-thread.html#how-to-run-lvgl-on-rt-thread">How to run LVGL on RT-Thread?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/cmake.html">CMake</a><ul>
<li class="toctree-l3"><a class="reference external" href="https://docs.espressif.com/projects/esp-idf/en/v3.3/get-started-cmake/index.html">Espressif (ESP32)</a></li>
<li class="toctree-l3"><a class="reference external" href="https://docs.micropython.org/en/v1.15/develop/cmodules.html">MicroPython</a></li>
<li class="toctree-l3"><a class="reference external" href="https://docs.zephyrproject.org/latest/guides/zephyr_cmake_package.html">Zephyr</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/cmake.html#prerequisites">Prerequisites</a><ul>
<li class="toctree-l4"><a class="reference external" href="https://www.gnu.org/software/make/">Make</a></li>
<li class="toctree-l4"><a class="reference external" href="https://ninja-build.org/">Ninja</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/cmake.html#building-lvgl-with-cmake">Building LVGL with CMake</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/cmake.html#additional-cmake-options">Additional CMake options</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/cmake.html#building-lvgl-examples-with-cmake">Building LVGL examples with CMake</a></li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/cmake.html#building-lvgl-drivers-and-demos-with-cmake">Building LVGL drivers and demos with CMake</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Porting</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="project.html">Set up a project</a><ul>
<li class="toctree-l3"><a class="reference internal" href="project.html#get-the-library">Get the library</a></li>
<li class="toctree-l3"><a class="reference internal" href="project.html#add-lvgl-to-your-project">Add lvgl to your project</a><ul>
<li class="toctree-l4"><a class="reference internal" href="project.html#automatically-add-files">Automatically add files</a></li>
<li class="toctree-l4"><a class="reference internal" href="project.html#make-and-cmake">Make and CMake</a></li>
<li class="toctree-l4"><a class="reference internal" href="project.html#other-platforms-and-tools">Other platforms and tools</a></li>
<li class="toctree-l4"><a class="reference internal" href="project.html#demos-and-examples">Demos and Examples</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="project.html#configuration-file">Configuration file</a></li>
<li class="toctree-l3"><a class="reference internal" href="project.html#initialization">Initialization</a></li>
</ul>
</li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Display interface</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#draw-buffer">Draw buffer</a></li>
<li class="toctree-l3"><a class="reference internal" href="#buffering-modes">Buffering modes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#one-buffer">One buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="#two-buffers">Two buffers</a></li>
<li class="toctree-l4"><a class="reference internal" href="#full-refresh">Full refresh</a></li>
<li class="toctree-l4"><a class="reference internal" href="#direct-mode">Direct mode</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#display-driver">Display driver</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#mandatory-fields">Mandatory fields</a></li>
<li class="toctree-l4"><a class="reference internal" href="#optional-fields">Optional fields</a></li>
<li class="toctree-l4"><a class="reference internal" href="#examples">Examples</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#rotation">Rotation</a></li>
<li class="toctree-l3"><a class="reference internal" href="#further-reading">Further reading</a></li>
<li class="toctree-l3"><a class="reference internal" href="#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="indev.html">Input device interface</a><ul>
<li class="toctree-l3"><a class="reference internal" href="indev.html#types-of-input-devices">Types of input devices</a><ul>
<li class="toctree-l4"><a class="reference internal" href="indev.html#touchpad-mouse-or-any-pointer">Touchpad, mouse or any pointer</a></li>
<li class="toctree-l4"><a class="reference internal" href="indev.html#keypad-or-keyboard">Keypad or keyboard</a></li>
<li class="toctree-l4"><a class="reference internal" href="indev.html#encoder">Encoder</a></li>
<li class="toctree-l4"><a class="reference internal" href="indev.html#button">Button</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="indev.html#other-features">Other features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="indev.html#parameters">Parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="indev.html#feedback">Feedback</a></li>
<li class="toctree-l4"><a class="reference internal" href="indev.html#associating-with-a-display">Associating with a display</a></li>
<li class="toctree-l4"><a class="reference internal" href="indev.html#buffered-reading">Buffered reading</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="indev.html#further-reading">Further reading</a></li>
<li class="toctree-l3"><a class="reference internal" href="indev.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="tick.html">Tick interface</a><ul>
<li class="toctree-l3"><a class="reference internal" href="tick.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="task-handler.html">Task Handler</a></li>
<li class="toctree-l2"><a class="reference internal" href="sleep.html">Sleep management</a></li>
<li class="toctree-l2"><a class="reference internal" href="os.html">Operating system and interrupts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="os.html#tasks-and-threads">Tasks and threads</a></li>
<li class="toctree-l3"><a class="reference internal" href="os.html#interrupts">Interrupts</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="log.html">Logging</a><ul>
<li class="toctree-l3"><a class="reference internal" href="log.html#log-level">Log level</a></li>
<li class="toctree-l3"><a class="reference internal" href="log.html#printing-logs">Printing logs</a><ul>
<li class="toctree-l4"><a class="reference internal" href="log.html#logging-with-printf">Logging with printf</a></li>
<li class="toctree-l4"><a class="reference internal" href="log.html#custom-log-function">Custom log function</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="log.html#add-logs">Add logs</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="gpu.html">Add custom GPU</a><ul>
<li class="toctree-l3"><a class="reference internal" href="gpu.html#draw-context">Draw context</a><ul>
<li class="toctree-l4"><a class="reference internal" href="gpu.html#fields">Fields</a></li>
<li class="toctree-l4"><a class="reference internal" href="gpu.html#initialization">Initialization</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gpu.html#software-renderer">Software renderer</a><ul>
<li class="toctree-l4"><a class="reference internal" href="gpu.html#blend-callback">Blend callback</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gpu.html#extend-the-software-renderer">Extend the software renderer</a><ul>
<li class="toctree-l4"><a class="reference internal" href="gpu.html#new-blend-callback">New blend callback</a></li>
<li class="toctree-l4"><a class="reference internal" href="gpu.html#new-rectangle-drawer">New rectangle drawer</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gpu.html#fully-custom-draw-engine">Fully custom draw engine</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../overview/index.html">Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../overview/object.html">Objects</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/object.html#attributes">Attributes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/object.html#basic-attributes">Basic attributes</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/object.html#specific-attributes">Specific attributes</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/object.html#working-mechanisms">Working mechanisms</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/object.html#parent-child-structure">Parent-child structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/object.html#moving-together">Moving together</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/object.html#visibility-only-on-the-parent">Visibility only on the parent</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/object.html#create-and-delete-objects">Create and delete objects</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/object.html#screens">Screens</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/object.html#create-screens">Create screens</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/object.html#get-the-active-screen">Get the active screen</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/object.html#load-screens">Load screens</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/object.html#layers">Layers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/object.html#handling-multiple-displays">Handling multiple displays</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/object.html#parts">Parts</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/object.html#states">States</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/object.html#snapshot">Snapshot</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/coords.html">Positions, sizes, and layouts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/coords.html#overview">Overview</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/coords.html#units">Units</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/coords.html#boxing-model">Boxing model</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/coords.html#important-notes">Important notes</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/coords.html#position">Position</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/coords.html#simple-way">Simple way</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/coords.html#align">Align</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/coords.html#size">Size</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/coords.html#id1">Simple way</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/coords.html#using-styles">Using styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/coords.html#translation">Translation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/coords.html#transformation">Transformation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/coords.html#min-and-max-size">Min and Max size</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/coords.html#layout">Layout</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/coords.html#id2">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/coords.html#built-in-layout">Built-in layout</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/coords.html#flags">Flags</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/coords.html#adding-new-layouts">Adding new layouts</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/coords.html#examples">Examples</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/style.html">Styles</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#states">States</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#cascading-styles">Cascading styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#inheritance">Inheritance</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#parts">Parts</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#initialize-styles-and-set-get-properties">Initialize styles and set/get properties</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#add-and-remove-styles-to-a-widget">Add and remove styles to a widget</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#add-styles">Add styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#remove-styles">Remove styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#report-style-changes">Report style changes</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#get-a-property-s-value-on-an-object">Get a property's value on an object</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#local-styles">Local styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#properties">Properties</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#typical-background-properties">Typical background properties</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#transitions">Transitions</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#color-filter">Color filter</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#themes">Themes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#extending-themes">Extending themes</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#examples">Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#size-styles">Size styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#background-styles">Background styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#border-styles">Border styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#outline-styles">Outline styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#shadow-styles">Shadow styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#image-styles">Image styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#arc-styles">Arc styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#text-styles">Text styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#line-styles">Line styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#transition">Transition</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#using-multiple-styles">Using multiple styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#id1">Local styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#add-styles-to-parts-and-states">Add styles to parts and states</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style.html#extending-the-current-theme">Extending the current theme</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/style-props.html">Style properties</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/style-props.html#size-and-position">Size and position</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#width">width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#min-width">min_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#max-width">max_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#height">height</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#min-height">min_height</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#max-height">max_height</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#x">x</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#y">y</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#align">align</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#transform-width">transform_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#transform-height">transform_height</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#translate-x">translate_x</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#translate-y">translate_y</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#transform-zoom">transform_zoom</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#transform-angle">transform_angle</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style-props.html#padding">Padding</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#pad-top">pad_top</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#pad-bottom">pad_bottom</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#pad-left">pad_left</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#pad-right">pad_right</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#pad-row">pad_row</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#pad-column">pad_column</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style-props.html#background">Background</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-color">bg_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-opa">bg_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-grad-color">bg_grad_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-grad-dir">bg_grad_dir</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-main-stop">bg_main_stop</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-grad-stop">bg_grad_stop</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-grad">bg_grad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-dither-mode">bg_dither_mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-img-src">bg_img_src</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-img-opa">bg_img_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-img-recolor">bg_img_recolor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-img-recolor-opa">bg_img_recolor_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#bg-img-tiled">bg_img_tiled</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style-props.html#border">Border</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#border-color">border_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#border-opa">border_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#border-width">border_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#border-side">border_side</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#border-post">border_post</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style-props.html#outline">Outline</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#outline-width">outline_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#outline-color">outline_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#outline-opa">outline_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#outline-pad">outline_pad</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style-props.html#shadow">Shadow</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#shadow-width">shadow_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#shadow-ofs-x">shadow_ofs_x</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#shadow-ofs-y">shadow_ofs_y</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#shadow-spread">shadow_spread</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#shadow-color">shadow_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#shadow-opa">shadow_opa</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style-props.html#image">Image</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#img-opa">img_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#img-recolor">img_recolor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#img-recolor-opa">img_recolor_opa</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style-props.html#line">Line</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#line-width">line_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#line-dash-width">line_dash_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#line-dash-gap">line_dash_gap</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#line-rounded">line_rounded</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#line-color">line_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#line-opa">line_opa</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style-props.html#arc">Arc</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#arc-width">arc_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#arc-rounded">arc_rounded</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#arc-color">arc_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#arc-opa">arc_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#arc-img-src">arc_img_src</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style-props.html#text">Text</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#text-color">text_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#text-opa">text_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#text-font">text_font</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#text-letter-space">text_letter_space</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#text-line-space">text_line_space</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#text-decor">text_decor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#text-align">text_align</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/style-props.html#miscellaneous">Miscellaneous</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#radius">radius</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#clip-corner">clip_corner</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#opa">opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#color-filter-dsc">color_filter_dsc</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#color-filter-opa">color_filter_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#anim-time">anim_time</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#anim-speed">anim_speed</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#transition">transition</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#blend-mode">blend_mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#layout">layout</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/style-props.html#base-dir">base_dir</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/scroll.html">Scroll</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/scroll.html#overview">Overview</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#scrollbar">Scrollbar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#events">Events</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/scroll.html#basic-example">Basic example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/scroll.html#features-of-scrolling">Features of scrolling</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#scrollable">Scrollable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#scroll-chain">Scroll chain</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#scroll-momentum">Scroll momentum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#elastic-scroll">Elastic scroll</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#snapping">Snapping</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#scroll-one">Scroll one</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#scroll-on-focus">Scroll on focus</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/scroll.html#scroll-manually">Scroll manually</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/scroll.html#self-size">Self size</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/scroll.html#examples">Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#nested-scrolling">Nested scrolling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#id1">Snapping</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#floating-button">Floating button</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#styling-the-scrollbars">Styling the scrollbars</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#right-to-left-scrolling">Right to left scrolling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/scroll.html#translate-on-scroll">Translate on scroll</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/layer.html">Layers</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/layer.html#order-of-creation">Order of creation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/layer.html#bring-to-the-foreground">Bring to the foreground</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/layer.html#top-and-sys-layers">Top and sys layers</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/event.html">Events</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/event.html#add-events-to-the-object">Add events to the object</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/event.html#remove-event-s-from-an-object">Remove event(s) from an object</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/event.html#event-codes">Event codes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/event.html#input-device-events">Input device events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/event.html#drawing-events">Drawing events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/event.html#other-events">Other events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/event.html#special-events">Special events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/event.html#custom-events">Custom events</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/event.html#sending-events">Sending events</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/event.html#refresh-event">Refresh event</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/event.html#fields-of-lv-event-t">Fields of lv_event_t</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/event.html#event-bubbling">Event bubbling</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/event.html#examples">Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/event.html#button-click-event">Button click event</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/event.html#handle-multiple-events">Handle multiple events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/event.html#id1">Event bubbling</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/indev.html">Input devices</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/indev.html#pointers">Pointers</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/indev.html#cursor">Cursor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/indev.html#gestures">Gestures</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/indev.html#keypad-and-encoder">Keypad and encoder</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/indev.html#groups">Groups</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/indev.html#styling">Styling</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/indev.html#api">API</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/indev.html#input-device">Input device</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/indev.html#id1">Groups</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/display.html">Displays</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/display.html#multiple-display-support">Multiple display support</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/display.html#using-only-one-display">Using only one display</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/display.html#mirror-display">Mirror display</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/display.html#split-image">Split image</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/display.html#screens">Screens</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/display.html#transparent-screens">Transparent screens</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/display.html#features-of-displays">Features of displays</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/display.html#inactivity">Inactivity</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/display.html#background">Background</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/display.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/color.html">Colors</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/color.html#creating-colors">Creating colors</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/color.html#rgb">RGB</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/color.html#hsv">HSV</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/color.html#palette">Palette</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/color.html#modify-and-mix-colors">Modify and mix colors</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/color.html#built-in-colors">Built-in colors</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/color.html#opacity">Opacity</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/color.html#color-types">Color types</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/color.html#convert-color">Convert color</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/color.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/font.html">Fonts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/font.html#unicode-support">Unicode support</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/font.html#built-in-fonts">Built-in fonts</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/font.html#normal-fonts">Normal fonts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/font.html#special-fonts">Special fonts</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/font.html#special-features">Special features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/font.html#bidirectional-support">Bidirectional support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/font.html#arabic-and-persian-support">Arabic and Persian support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/font.html#subpixel-rendering">Subpixel rendering</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/font.html#compressed-fonts">Compressed fonts</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/font.html#add-a-new-font">Add a new font</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/font.html#add-new-symbols">Add new symbols</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/font.html#load-a-font-at-run-time">Load a font at run-time</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/font.html#add-a-new-font-engine">Add a new font engine</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/font.html#use-font-fallback">Use font fallback</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/image.html">Images</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/image.html#store-images">Store images</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#variables">Variables</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#files">Files</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/image.html#color-formats">Color formats</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/image.html#add-and-use-images">Add and use images</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#online-converter">Online converter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#manually-create-an-image">Manually create an image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#use-images">Use images</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/image.html#image-decoder">Image decoder</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#custom-image-formats">Custom image formats</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#register-an-image-decoder">Register an image decoder</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#manually-use-an-image-decoder">Manually use an image decoder</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/image.html#image-caching">Image caching</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#cache-size">Cache size</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#value-of-images">Value of images</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#memory-usage">Memory usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#clean-the-cache">Clean the cache</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/image.html#api">API</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/image.html#image-buffer">Image buffer</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/file-system.html">File system</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/file-system.html#ready-to-use-drivers">Ready to use drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/file-system.html#adding-a-driver">Adding a driver</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/file-system.html#registering-a-driver">Registering a driver</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/file-system.html#implementing-the-callbacks">Implementing the callbacks</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/file-system.html#other-callbacks">Other callbacks</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/file-system.html#usage-example">Usage example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/file-system.html#use-drives-for-images">Use drives for images</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/file-system.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/animation.html">Animations</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/animation.html#create-an-animation">Create an animation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/animation.html#animation-path">Animation path</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/animation.html#speed-vs-time">Speed vs time</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/animation.html#delete-animations">Delete animations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/animation.html#timeline">Timeline</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/animation.html#examples">Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/animation.html#start-animation-on-an-event">Start animation on an event</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/animation.html#playback-animation">Playback animation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/animation.html#animation-timeline">Animation timeline</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/animation.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/timer.html">Timers</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/timer.html#create-a-timer">Create a timer</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/timer.html#ready-and-reset">Ready and Reset</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/timer.html#set-parameters">Set parameters</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/timer.html#repeat-count">Repeat count</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/timer.html#measure-idle-time">Measure idle time</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/timer.html#asynchronous-calls">Asynchronous calls</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/timer.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/drawing.html">Drawing</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../overview/drawing.html#mechanism-of-screen-refreshing">Mechanism of screen refreshing</a></li>
<li class="toctree-l3"><a class="reference internal" href="../overview/drawing.html#masking">Masking</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/drawing.html#using-masks">Using masks</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../overview/drawing.html#hook-drawing">Hook drawing</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../overview/drawing.html#main-drawing">Main drawing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/drawing.html#post-drawing">Post drawing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/drawing.html#part-drawing">Part drawing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview/drawing.html#others">Others</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../overview/new_widget.html">New widget</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../widgets/index.html">Widgets</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../widgets/obj.html">Base object (lv_obj)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../widgets/obj.html#overview">Overview</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/obj.html#coordinates">Coordinates</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/obj.html#parents-and-children">Parents and children</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/obj.html#display-and-screens">Display and Screens</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/obj.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/obj.html#styles">Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/obj.html#flags">Flags</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/obj.html#groups">Groups</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/obj.html#extended-click-area">Extended click area</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/obj.html#id1">Events</a></li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/obj.html#keys">Keys</a></li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/obj.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/obj.html#base-objects-with-custom-styles">Base objects with custom styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/obj.html#make-an-object-draggable">Make an object draggable</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/obj.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../widgets/core/index.html">Core widgets</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/arc.html">Arc (lv_arc)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/arc.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/arc.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/arc.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/arc.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/arc.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/arc.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/arc.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/bar.html">Bar (lv_bar)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/bar.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/bar.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/bar.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/bar.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/bar.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/bar.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/bar.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/btn.html">Button (lv_btn)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btn.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btn.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btn.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btn.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btn.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btn.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btn.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/btnmatrix.html">Button matrix (lv_btnmatrix)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btnmatrix.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btnmatrix.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btnmatrix.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btnmatrix.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btnmatrix.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btnmatrix.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/btnmatrix.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/canvas.html">Canvas (lv_canvas)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/canvas.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/canvas.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/canvas.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/canvas.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/canvas.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/canvas.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/canvas.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/checkbox.html">Checkbox (lv_checkbox)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/checkbox.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/checkbox.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/checkbox.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/checkbox.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/checkbox.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/checkbox.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/checkbox.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/dropdown.html">Drop-down list (lv_dropdown)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/dropdown.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/dropdown.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/dropdown.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/dropdown.html#id1">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/dropdown.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/dropdown.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/dropdown.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/dropdown.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/img.html">Image (lv_img)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/img.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/img.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/img.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/img.html#transformations">Transformations</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/img.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/img.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/img.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/img.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/label.html">Label (lv_label)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/label.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/label.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/label.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/label.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/label.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/label.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/label.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/line.html">Line (lv_line)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/line.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/line.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/line.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/line.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/line.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/line.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/line.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/roller.html">Roller (lv_roller)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/roller.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/roller.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/roller.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/roller.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/roller.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/roller.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/roller.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/slider.html">Slider (lv_slider)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/slider.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/slider.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/slider.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/slider.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/slider.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/slider.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/slider.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/switch.html">Switch (lv_switch)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/switch.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/switch.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/switch.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/switch.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/switch.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/switch.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/switch.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/table.html">Table (lv_table)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/table.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/table.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/table.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/table.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/table.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/table.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/table.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/core/textarea.html">Text area (lv_textarea)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/textarea.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/textarea.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/textarea.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/textarea.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/textarea.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/textarea.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/core/textarea.html#api">API</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../widgets/extra/index.html">Extra widgets</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/animimg.html">Animation Image (lv_animimg)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/animimg.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/animimg.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/animimg.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/animimg.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/animimg.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/animimg.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/animimg.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/calendar.html">Calendar (lv_calendar)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/calendar.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/calendar.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/calendar.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/calendar.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/calendar.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/calendar.html#headers">Headers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/calendar.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/calendar.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/chart.html">Chart (lv_chart)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/chart.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/chart.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/chart.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/chart.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/chart.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/chart.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/chart.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/colorwheel.html">Color wheel (lv_colorwheel)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/colorwheel.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/colorwheel.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/colorwheel.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/colorwheel.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/colorwheel.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/colorwheel.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/colorwheel.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/imgbtn.html">Image button (lv_imgbtn)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/imgbtn.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/imgbtn.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/imgbtn.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/imgbtn.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/imgbtn.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/imgbtn.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/imgbtn.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/keyboard.html">Keyboard (lv_keyboard)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/keyboard.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/keyboard.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/keyboard.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/keyboard.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/keyboard.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/keyboard.html#examples">Examples</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/keyboard.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/led.html">LED (lv_led)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/led.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/led.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/led.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/led.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/led.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/led.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/led.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/list.html">List (lv_list)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/list.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/list.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/list.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/list.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/list.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/list.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/list.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/menu.html">Menu (lv_menu)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/menu.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/menu.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/menu.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/menu.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/menu.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/menu.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/menu.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/meter.html">Meter (lv_meter)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/meter.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/meter.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/meter.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/meter.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/meter.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/meter.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/meter.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/msgbox.html">Message box (lv_msgbox)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/msgbox.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/msgbox.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/msgbox.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/msgbox.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/msgbox.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/msgbox.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/msgbox.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/span.html">Span (lv_span)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/span.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/span.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/span.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/span.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/span.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/span.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/span.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/spinbox.html">Spinbox (lv_spinbox)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinbox.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinbox.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinbox.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinbox.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinbox.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinbox.html#api">API</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinbox.html#id1">Example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/spinner.html">Spinner (lv_spinner)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinner.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinner.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinner.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinner.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinner.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinner.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/spinner.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/tabview.html">Tabview (lv_tabview)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tabview.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tabview.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tabview.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tabview.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tabview.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tabview.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tabview.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/tileview.html">Tile view (lv_tileview)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tileview.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tileview.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tileview.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tileview.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tileview.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tileview.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/tileview.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../widgets/extra/win.html">Window (lv_win)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/win.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/win.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/win.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/win.html#get-the-parts">Get the parts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/win.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/win.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/win.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../widgets/extra/win.html#api">API</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../layouts/index.html">Layouts</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../layouts/flex.html">Flex</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../layouts/flex.html#overview">Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../layouts/flex.html#terms">Terms</a></li>
<li class="toctree-l3"><a class="reference internal" href="../layouts/flex.html#simple-interface">Simple interface</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../layouts/flex.html#flex-flow">Flex flow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/flex.html#flex-align">Flex align</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/flex.html#flex-grow">Flex grow</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../layouts/flex.html#style-interface">Style interface</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../layouts/flex.html#internal-padding">Internal padding</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../layouts/flex.html#other-features">Other features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../layouts/flex.html#rtl">RTL</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/flex.html#new-track">New track</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../layouts/flex.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../layouts/flex.html#a-simple-row-and-a-column-layout-with-flexbox">A simple row and a column layout with flexbox</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/flex.html#arrange-items-in-rows-with-wrap-and-even-spacing">Arrange items in rows with wrap and even spacing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/flex.html#demonstrate-flex-grow">Demonstrate flex grow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/flex.html#id1">Demonstrate flex grow.</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/flex.html#demonstrate-column-and-row-gap-style-properties">Demonstrate column and row gap style properties</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/flex.html#rtl-base-direction-changes-order-of-the-items">RTL base direction changes order of the items</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../layouts/flex.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../layouts/grid.html">Grid</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../layouts/grid.html#overview">Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../layouts/grid.html#terms">Terms</a></li>
<li class="toctree-l3"><a class="reference internal" href="../layouts/grid.html#simple-interface">Simple interface</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../layouts/grid.html#grid-descriptors">Grid descriptors</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/grid.html#grid-items">Grid items</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/grid.html#grid-align">Grid align</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../layouts/grid.html#style-interface">Style interface</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../layouts/grid.html#internal-padding">Internal padding</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../layouts/grid.html#other-features">Other features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../layouts/grid.html#rtl">RTL</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../layouts/grid.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../layouts/grid.html#a-simple-grid">A simple grid</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/grid.html#demonstrate-cell-placement-and-span">Demonstrate cell placement and span</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/grid.html#demonstrate-grid-s-free-unit">Demonstrate grid's &quot;free unit&quot;</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/grid.html#demonstrate-track-placement">Demonstrate track placement</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/grid.html#demonstrate-column-and-row-gap">Demonstrate column and row gap</a></li>
<li class="toctree-l4"><a class="reference internal" href="../layouts/grid.html#demonstrate-rtl-direction-on-grid">Demonstrate RTL direction on grid</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../layouts/grid.html#api">API</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../libs/index.html">3rd party libraries</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../libs/fsdrv.html">File System Interfaces</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../libs/fsdrv.html#usage">Usage</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../libs/bmp.html">BMP decoder</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../libs/bmp.html#limitations">Limitations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/bmp.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../libs/bmp.html#open-a-bmp-image-from-file">Open a BMP image from file</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../libs/bmp.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../libs/sjpg.html">JPG decoder</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../libs/sjpg.html#overview">Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/sjpg.html#usage">Usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/sjpg.html#converter">Converter</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../libs/sjpg.html#converting-jpg-to-c-array">Converting JPG to C array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../libs/sjpg.html#converting-jpg-to-sjpg">Converting JPG to SJPG</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../libs/sjpg.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../libs/sjpg.html#load-an-sjpg-image">Load an SJPG image</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../libs/sjpg.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../libs/png.html">PNG decoder</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../libs/png.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../libs/png.html#open-a-png-image-from-file-and-variable">Open a PNG image from file and variable</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../libs/png.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../libs/gif.html">GIF decoder</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../libs/gif.html#convert-gif-files-to-c-array">Convert GIF files to C array</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/gif.html#use-gif-images-from-file">Use GIF images from file</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/gif.html#memory-requirements">Memory requirements</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/gif.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../libs/gif.html#open-a-gif-image-from-file-and-variable">Open a GIF image from file and variable</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../libs/gif.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../libs/freetype.html">FreeType support</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../libs/freetype.html#install-freetype">Install FreeType</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/freetype.html#add-freetype-to-your-project">Add FreeType to your project</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/freetype.html#usage">Usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/freetype.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../libs/freetype.html#open-a-front-with-freetype">Open a front with FreeType</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../libs/freetype.html#learn-more">Learn more</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/freetype.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../libs/qrcode.html">QR code</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../libs/qrcode.html#get-started">Get started</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/qrcode.html#notes">Notes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/qrcode.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../libs/qrcode.html#create-a-qr-code">Create a QR Code</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../libs/qrcode.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../libs/rlottie.html">Lottie player</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../libs/rlottie.html#build-rlottie">Build Rlottie</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/rlottie.html#usage">Usage</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../libs/rlottie.html#use-rlottie-from-file">Use Rlottie from file</a></li>
<li class="toctree-l4"><a class="reference internal" href="../libs/rlottie.html#use-rlottie-from-raw-string-data">Use Rlottie from raw string data</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../libs/rlottie.html#getting-animations">Getting animations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/rlottie.html#controlling-animations">Controlling animations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/rlottie.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../libs/rlottie.html#load-a-lottie-animation-from-raw-data">Load a Lottie animation from raw data</a></li>
<li class="toctree-l4"><a class="reference internal" href="../libs/rlottie.html#load-a-lottie-animation-from-a-file">Load a Lottie animation from a file</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../libs/rlottie.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../libs/ffmpeg.html">FFmpeg support</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../libs/ffmpeg.html#install-ffmpeg">Install FFmpeg</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/ffmpeg.html#add-ffmpeg-to-your-project">Add FFmpeg to your project</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/ffmpeg.html#usage">Usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libs/ffmpeg.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../libs/ffmpeg.html#decode-image">Decode image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../libs/ffmpeg.html#decode-video">Decode video</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../libs/ffmpeg.html#api">API</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../others/index.html">Others</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../others/snapshot.html">Snapshot</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../others/snapshot.html#usage">Usage</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../others/snapshot.html#free-the-image">Free the Image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../others/snapshot.html#use-existing-buffer">Use Existing Buffer</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../others/snapshot.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../others/snapshot.html#simple-snapshot-example">Simple snapshot example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../others/snapshot.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../others/monkey.html">Monkey</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../others/monkey.html#usage">Usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../others/monkey.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../others/monkey.html#touchpad-monkey-example">Touchpad monkey example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../others/monkey.html#encoder-monkey-example">Encoder monkey example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../others/monkey.html#button-monkey-example">Button monkey example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../others/monkey.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../others/gridnav.html">Grid navigation</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../others/gridnav.html#usage">Usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../others/gridnav.html#focusable-objects">Focusable objects</a></li>
<li class="toctree-l3"><a class="reference internal" href="../others/gridnav.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../others/gridnav.html#basic-grid-navigation">Basic grid navigation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../others/gridnav.html#grid-navigation-on-a-list">Grid navigation on a list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../others/gridnav.html#nested-grid-navigations">Nested grid navigations</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../others/gridnav.html#api">API</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../CONTRIBUTING.html">Contributing</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../CONTRIBUTING.html#introduction">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="../CONTRIBUTING.html#pull-request">Pull request</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#from-github">From GitHub</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#from-command-line">From command line</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#commit-message-format">Commit message format</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CONTRIBUTING.html#developer-certification-of-origin-dco">Developer Certification of Origin (DCO)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#overview">Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#accepted-licenses-and-copyright-notices">Accepted licenses and copyright notices</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../CONTRIBUTING.html#your-own-work">Your own work</a></li>
<li class="toctree-l4"><a class="reference internal" href="../CONTRIBUTING.html#use-code-from-online-source">Use code from online source</a></li>
<li class="toctree-l4"><a class="reference internal" href="../CONTRIBUTING.html#use-mit-licensed-code">Use MIT licensed code</a></li>
<li class="toctree-l4"><a class="reference internal" href="../CONTRIBUTING.html#use-gpl-licensed-code">Use GPL licensed code</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CONTRIBUTING.html#ways-to-contribute">Ways to contribute</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#give-lvgl-a-star">Give LVGL a Star</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#tell-what-you-have-achieved">Tell what you have achieved</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#write-examples">Write examples</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#improve-the-docs">Improve the docs</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#report-bugs">Report bugs</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#send-fixes">Send fixes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#join-the-conversations-in-the-forum">Join the conversations in the Forum</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#add-features">Add features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#become-a-maintainer">Become a maintainer</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CONTRIBUTING.html#move-your-project-repository-under-lvgl-organization">Move your project repository under LVGL organization</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../CHANGELOG.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v8-1-0-10-november-2021">v8.1.0 10 November 2021</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#overview">Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#architectural">Architectural</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#new-features">New Features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#performance">Performance</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#fixes">Fixes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#examples">Examples</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#docs">Docs</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#ci-and-tests">CI and tests</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#others">Others</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v8-0-2-16-07-2021">v8.0.2 (16.07.2021)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v8-0-1-14-06-2021">v8.0.1 (14.06.2021)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v8-0-0-01-06-2021">v8.0.0 (01.06.2021)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#directory-structure">Directory structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#widget-changes">Widget changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#new-scrolling">New scrolling</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#new-layouts">New layouts</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#styles">Styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#events">Events</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#driver-changes">Driver changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#other-changes">Other changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#new-release-policy">New release policy</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#migrating-from-v7-to-v8">Migrating from v7 to v8</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-11-0-16-03-2021">v7.11.0 (16.03.2021)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id1">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#bugfixes">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-10-1-16-02-2021">v7.10.1 (16.02.2021)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id2">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-10-0-02-02-2021">v7.10.0 (02.02.2021)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id3">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id4">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-9-1-19-01-2021">v7.9.1 (19.01.2021)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id5">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-9-0-05-01-2021">v7.9.0 (05.01.2021)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id6">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id7">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-8-1-15-12-2020">v7.8.1 (15.12.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id8">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-8-0-01-12-2020">v7.8.0 (01.12.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id9">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id10">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-7-2-17-11-2020">v7.7.2 (17.11.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id11">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-7-1-03-11-2020">v7.7.1 (03.11.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id12">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-7-0-20-10-2020">v7.7.0 (20.10.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id13">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id14">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-6-1-06-10-2020">v7.6.1 (06.10.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id15">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-6-0-22-09-2020">v7.6.0 (22.09.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id16">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id17">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-5-0-15-09-2020">v7.5.0 (15.09.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id18">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id19">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-4-0-01-09-2020">v7.4.0 (01.09.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id20">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id21">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-3-1-18-08-2020">v7.3.1 (18.08.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id22">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-3-0-04-08-2020">v7.3.0 (04.08.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id23">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id24">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-2-0-21-07-2020">v7.2.0 (21.07.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id25">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id26">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-1-0-07-07-2020">v7.1.0 (07.07.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id27">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id28">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-0-2-16-06-2020">v7.0.2 (16.06.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id29">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-0-1-01-06-2020">v7.0.1 (01.06.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id30">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../CHANGELOG.html#v7-0-0-18-05-2020">v7.0.0 (18.05.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#documentation">Documentation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#legal-changes">Legal changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#new-drawing-system">New drawing system</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#new-style-system">New style system</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#gpu-integration">GPU integration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#renames">Renames</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#reworked-and-improved-object">Reworked and improved object</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#new-object-types">New object types</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id31">Others</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#demos">Demos</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#id32">New release policy</a></li>
<li class="toctree-l3"><a class="reference internal" href="../CHANGELOG.html#migrating-from-v6-to-v7">Migrating from v6 to v7</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../ROADMAP.html">Roadmap</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../ROADMAP.html#v8-2">v8.2</a></li>
<li class="toctree-l2"><a class="reference internal" href="../ROADMAP.html#ideas">Ideas</a></li>
</ul>
</li>
</ul>

            
          
        </div>
        
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">LVGL</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          



















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
        
          <li><a href="index.html">Porting</a> &raquo;</li>
        
      <li>Display interface</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
          
            
              <!-- User defined GitHub URL -->
              <a href="https://github.com/lvgl/lvgl/blob/d851fe0528fcb920fee86c944fe9dbbaf6fbb0c9/docs/porting/display.md" class="fa fa-github"> Edit on GitHub</a>
            
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="display-interface">
<h1>Display interface<a class="headerlink" href="#display-interface" title="Permalink to this headline">¶</a></h1>
<p>To register a display for LVGL, a <code class="docutils literal notranslate"><span class="pre">lv_disp_draw_buf_t</span></code> and a <code class="docutils literal notranslate"><span class="pre">lv_disp_drv_t</span></code> variable have to be initialized.</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">lv_disp_draw_buf_t</span></code> contains internal graphic buffer(s) called draw buffer(s).</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lv_disp_drv_t</span></code> contains callback functions to interact with the display and manipulate low level drawing behavior.</p></li>
</ul>
<div class="section" id="draw-buffer">
<h2>Draw buffer<a class="headerlink" href="#draw-buffer" title="Permalink to this headline">¶</a></h2>
<p>Draw buffer(s) are simple array(s) that LVGL uses to render the screen content.
Once rendering is ready the content of the draw buffer is sent to the display using the <code class="docutils literal notranslate"><span class="pre">flush_cb</span></code> function set in the display driver (see below).</p>
<p>A draw buffer can be initialized via a <code class="docutils literal notranslate"><span class="pre">lv_disp_draw_buf_t</span></code> variable like this:</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cm">/*A static or global variable to store the buffers*/</span>
<span class="k">static</span> <span class="n">lv_disp_draw_buf_t</span> <span class="n">disp_buf</span><span class="p">;</span>

<span class="cm">/*Static or global buffer(s). The second buffer is optional*/</span>
<span class="k">static</span> <span class="n">lv_color_t</span> <span class="n">buf_1</span><span class="p">[</span><span class="n">MY_DISP_HOR_RES</span> <span class="o">*</span> <span class="mi">10</span><span class="p">];</span>
<span class="k">static</span> <span class="n">lv_color_t</span> <span class="n">buf_2</span><span class="p">[</span><span class="n">MY_DISP_HOR_RES</span> <span class="o">*</span> <span class="mi">10</span><span class="p">];</span>

<span class="cm">/*Initialize `disp_buf` with the buffer(s). With only one buffer use NULL instead buf_2 */</span>
<span class="n">lv_disp_draw_buf_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">disp_buf</span><span class="p">,</span> <span class="n">buf_1</span><span class="p">,</span> <span class="n">buf_2</span><span class="p">,</span> <span class="n">MY_DISP_HOR_RES</span><span class="o">*</span><span class="mi">10</span><span class="p">);</span>
</pre></div>
</div>
<p>Note that <code class="docutils literal notranslate"><span class="pre">lv_disp_draw_buf_t</span></code> must be a static, global or dynamically allocated variable. It cannot be a local variable as they are destroyed upon end of scope.</p>
<p>As you can see above, the draw buffer may be smaller than the screen. In this case, larger areas are redrawn in smaller segments that fit into the draw buffer(s).
If only a small area changes (e.g. a button is pressed) then only that area will be refreshed.</p>
<p>A larger buffer results in better performance but above 1/10 screen sized buffer(s) there is no significant performance improvement.
Therefore it's recommended to choose the size of the draw buffer(s) to be at least 1/10 screen sized.</p>
</div>
<div class="section" id="buffering-modes">
<h2>Buffering modes<a class="headerlink" href="#buffering-modes" title="Permalink to this headline">¶</a></h2>
<p>There are several settings to adjust the number draw buffers and buffering/refreshing modes.</p>
<p>You can measure the performance of different configurations using the <a class="reference external" href="https://github.com/lvgl/lv_demos/tree/master/src/lv_demo_benchmark">benchmark example</a>.</p>
<div class="section" id="one-buffer">
<h3>One buffer<a class="headerlink" href="#one-buffer" title="Permalink to this headline">¶</a></h3>
<p>If only one buffer is used LVGL draws the content of the screen into that draw buffer and sends it to the display.
LVGL then needs to wait until the content of the buffer is sent to the display before drawing something new in it.</p>
</div>
<div class="section" id="two-buffers">
<h3>Two buffers<a class="headerlink" href="#two-buffers" title="Permalink to this headline">¶</a></h3>
<p>If two buffers  are used LVGL can draw into one buffer while the content of the other buffer is sent to the display in the background.
DMA or other hardware should be used to transfer data to the display so the MCU can continue drawing.
This way, the rendering and refreshing of the display become parallel operations.</p>
</div>
<div class="section" id="full-refresh">
<h3>Full refresh<a class="headerlink" href="#full-refresh" title="Permalink to this headline">¶</a></h3>
<p>In the display driver (<code class="docutils literal notranslate"><span class="pre">lv_disp_drv_t</span></code>) enabling the <code class="docutils literal notranslate"><span class="pre">full_refresh</span></code> bit will force LVGL to always redraw the whole screen. This works in both <em>one buffer</em> and <em>two buffers</em> modes.
If <code class="docutils literal notranslate"><span class="pre">full_refresh</span></code> is enabled and two screen sized draw buffers are provided, LVGL's display handling works like &quot;traditional&quot; double buffering.
This means the <code class="docutils literal notranslate"><span class="pre">flush_cb</span></code> callback only has to update the address of the framebuffer (<code class="docutils literal notranslate"><span class="pre">color_p</span></code> parameter).
This configuration should be used if the MCU has an LCD controller peripheral and not with an external display controller (e.g. ILI9341 or SSD1963) accessed via serial link. The latter will generally be too slow to maintain high frame rates with full screen redraws.</p>
</div>
<div class="section" id="direct-mode">
<h3>Direct mode<a class="headerlink" href="#direct-mode" title="Permalink to this headline">¶</a></h3>
<p>If the <code class="docutils literal notranslate"><span class="pre">direct_mode</span></code> flag is enabled in the display driver LVGL will draw directly into a <strong>screen sized frame buffer</strong>. That is the draw buffer(s) needs to be screen sized.
It this case <code class="docutils literal notranslate"><span class="pre">flush_cb</span></code> will be called only once when all dirty areas are redrawn.
With <code class="docutils literal notranslate"><span class="pre">direct_mode</span></code> the frame buffer always contains the current frame as it should be displayed on the screen.
If 2 frame buffers are provided as draw buffers LVGL will alter the buffers but always draw only the dirty areas.
Therefore the 2 buffers needs to synchronized in <code class="docutils literal notranslate"><span class="pre">flush_cb</span></code> like this:</p>
<ol class="simple">
<li><p>Display the frame buffer pointed by <code class="docutils literal notranslate"><span class="pre">color_p</span></code></p></li>
<li><p>Copy the redrawn areas from <code class="docutils literal notranslate"><span class="pre">color_p</span></code> to the other buffer.</p></li>
</ol>
<p>The get the redrawn areas to copy use the following functions
<code class="docutils literal notranslate"><span class="pre">_lv_refr_get_disp_refreshing()</span></code> returns the display being refreshed
<code class="docutils literal notranslate"><span class="pre">disp-&gt;inv_areas[LV_INV_BUF_SIZE]</span></code> contains the invalidated areas
<code class="docutils literal notranslate"><span class="pre">disp-&gt;inv_area_joined[LV_INV_BUF_SIZE]</span></code> if 1 that area was joined into another one and should be ignored
<code class="docutils literal notranslate"><span class="pre">disp-&gt;inv_p</span></code> number of valid elements in <code class="docutils literal notranslate"><span class="pre">inv_areas</span></code></p>
</div>
</div>
<div class="section" id="display-driver">
<h2>Display driver<a class="headerlink" href="#display-driver" title="Permalink to this headline">¶</a></h2>
<p>Once the buffer initialization is ready a <code class="docutils literal notranslate"><span class="pre">lv_disp_drv_t</span></code> display driver needs to be:</p>
<ol class="simple">
<li><p>initialized with <code class="docutils literal notranslate"><span class="pre">lv_disp_drv_init(&amp;disp_drv)</span></code></p></li>
<li><p>its fields need to be set</p></li>
<li><p>it needs to be registered in LVGL with <code class="docutils literal notranslate"><span class="pre">lv_disp_drv_register(&amp;disp_drv)</span></code></p></li>
</ol>
<p>Note that <code class="docutils literal notranslate"><span class="pre">lv_disp_drv_t</span></code> also needs to be a static, global or dynamically allocated variable.</p>
<div class="section" id="mandatory-fields">
<h3>Mandatory fields<a class="headerlink" href="#mandatory-fields" title="Permalink to this headline">¶</a></h3>
<p>In the most simple case only the following fields of <code class="docutils literal notranslate"><span class="pre">lv_disp_drv_t</span></code> need to be set:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">draw_buf</span></code> pointer to an initialized <code class="docutils literal notranslate"><span class="pre">lv_disp_draw_buf_t</span></code> variable.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">hor_res</span></code> horizontal resolution of the display in pixels.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">ver_res</span></code> vertical resolution of the display in pixels.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">flush_cb</span></code> a callback function to copy a buffer's content to a specific area of the display.
<code class="docutils literal notranslate"><span class="pre">lv_disp_flush_ready(&amp;disp_drv)</span></code> needs to be called when flushing is ready.
LVGL might render the screen in multiple chunks and therefore call <code class="docutils literal notranslate"><span class="pre">flush_cb</span></code> multiple times. To see if the current one is the last chunk of rendering use <code class="docutils literal notranslate"><span class="pre">lv_disp_flush_is_last(&amp;disp_drv)</span></code>.</p></li>
</ul>
</div>
<div class="section" id="optional-fields">
<h3>Optional fields<a class="headerlink" href="#optional-fields" title="Permalink to this headline">¶</a></h3>
<p>There are some optional display driver data fields:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">physical_hor_res</span></code> horizontal resolution of the full / physical display in pixels. Only set this when <em>not</em> using the full screen (defaults to -1 / same as <code class="docutils literal notranslate"><span class="pre">hor_res</span></code>).</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">physical_ver_res</span></code> vertical resolution of the full / physical display in pixels. Only set this when <em>not</em> using the full screen (defaults to -1 / same as <code class="docutils literal notranslate"><span class="pre">ver_res</span></code>).</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">offset_x</span></code> horizontal offset from the full / physical display in pixels. Only set this when <em>not</em> using the full screen (defaults to 0).</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">offset_y</span></code> vertical offset from the full / physical display in pixels. Only set this when <em>not</em> using the full screen (defaults to 0).</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">color_chroma_key</span></code> A color which will be drawn as transparent on chrome keyed images. Set to <code class="docutils literal notranslate"><span class="pre">LV_COLOR_CHROMA_KEY</span></code> from <code class="docutils literal notranslate"><span class="pre">lv_conf.h</span></code> by default.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">anti_aliasing</span></code> use anti-aliasing (edge smoothing). Enabled by default if <code class="docutils literal notranslate"><span class="pre">LV_COLOR_DEPTH</span></code> is set to at least 16 in <code class="docutils literal notranslate"><span class="pre">lv_conf.h</span></code>.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">rotated</span></code> and <code class="docutils literal notranslate"><span class="pre">sw_rotate</span></code> See the <a class="reference external" href="#rotation">Rotation</a> section below.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">screen_transp</span></code> if <code class="docutils literal notranslate"><span class="pre">1</span></code> the screen itself can have transparency as well. <code class="docutils literal notranslate"><span class="pre">LV_COLOR_SCREEN_TRANSP</span></code> must be enabled in <code class="docutils literal notranslate"><span class="pre">lv_conf.h</span></code> and <code class="docutils literal notranslate"><span class="pre">LV_COLOR_DEPTH</span></code> must be 32.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">user_data</span></code> A custom <code class="docutils literal notranslate"><span class="pre">void</span></code> user data for the driver.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">full_refresh</span></code> always redrawn the whole screen (see above)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">direct_mode</span></code> draw directly into the frame buffer (see above)</p></li>
</ul>
<p>Some other optional callbacks to make it easier and more optimal to work with monochrome, grayscale or other non-standard RGB displays:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">rounder_cb</span></code> Round the coordinates of areas to redraw. E.g. a 2x2 px can be converted to 2x8.
It can be used if the display controller can refresh only areas with specific height or width (usually 8 px height with monochrome displays).</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">set_px_cb</span></code> a custom function to write the draw buffer. It can be used to store the pixels more compactly in the draw buffer if the display has a special color format. (e.g. 1-bit monochrome, 2-bit grayscale etc.)
This way the buffers used in <code class="docutils literal notranslate"><span class="pre">lv_disp_draw_buf_t</span></code> can be smaller to hold only the required number of bits for the given area size. Note that rendering with <code class="docutils literal notranslate"><span class="pre">set_px_cb</span></code> is slower than normal rendering.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">monitor_cb</span></code> A callback function that tells how many pixels were refreshed and in how much time. Called when the last chunk is rendered and sent to the display.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">clean_dcache_cb</span></code> A callback for cleaning any caches related to the display.</p></li>
</ul>
<p>LVGL has built-in support to several GPUs (see <code class="docutils literal notranslate"><span class="pre">lv_conf.h</span></code>) but if something else is required these functions can be used to make LVGL use a GPU:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">gpu_fill_cb</span></code> fill an area in the memory with a color.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">gpu_wait_cb</span></code> if any GPU function returns while the GPU is still working, LVGL will use this function when required to make sure GPU rendering is ready.</p></li>
</ul>
</div>
<div class="section" id="examples">
<h3>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h3>
<p>All together it looks like this:</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">static</span> <span class="n">lv_disp_drv_t</span> <span class="n">disp_drv</span><span class="p">;</span>          <span class="cm">/*A variable to hold the drivers. Must be static or global.*/</span>
<span class="n">lv_disp_drv_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">disp_drv</span><span class="p">);</span>            <span class="cm">/*Basic initialization*/</span>
<span class="n">disp_drv</span><span class="p">.</span><span class="n">draw_buf</span> <span class="o">=</span> <span class="o">&amp;</span><span class="n">disp_buf</span><span class="p">;</span>          <span class="cm">/*Set an initialized buffer*/</span>
<span class="n">disp_drv</span><span class="p">.</span><span class="n">flush_cb</span> <span class="o">=</span> <span class="n">my_flush_cb</span><span class="p">;</span>        <span class="cm">/*Set a flush callback to draw to the display*/</span>
<span class="n">disp_drv</span><span class="p">.</span><span class="n">hor_res</span> <span class="o">=</span> <span class="mi">320</span><span class="p">;</span>                 <span class="cm">/*Set the horizontal resolution in pixels*/</span>
<span class="n">disp_drv</span><span class="p">.</span><span class="n">ver_res</span> <span class="o">=</span> <span class="mi">240</span><span class="p">;</span>                 <span class="cm">/*Set the vertical resolution in pixels*/</span>

<span class="n">lv_disp_t</span> <span class="o">*</span> <span class="n">disp</span><span class="p">;</span>
<span class="n">disp</span> <span class="o">=</span> <span class="n">lv_disp_drv_register</span><span class="p">(</span><span class="o">&amp;</span><span class="n">disp_drv</span><span class="p">);</span> <span class="cm">/*Register the driver and save the created display objects*/</span>
</pre></div>
</div>
<p>Here are some simple examples of the callbacks:</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">void</span> <span class="nf">my_flush_cb</span><span class="p">(</span><span class="n">lv_disp_drv_t</span> <span class="o">*</span> <span class="n">disp_drv</span><span class="p">,</span> <span class="k">const</span> <span class="n">lv_area_t</span> <span class="o">*</span> <span class="n">area</span><span class="p">,</span> <span class="n">lv_color_t</span> <span class="o">*</span> <span class="n">color_p</span><span class="p">)</span>
<span class="p">{</span>
    <span class="cm">/*The most simple case (but also the slowest) to put all pixels to the screen one-by-one</span>
<span class="cm">     *`put_px` is just an example, it needs to implemented by you.*/</span>
    <span class="kt">int32_t</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">;</span>
    <span class="k">for</span><span class="p">(</span><span class="n">y</span> <span class="o">=</span> <span class="n">area</span><span class="o">-&gt;</span><span class="n">y1</span><span class="p">;</span> <span class="n">y</span> <span class="o">&lt;=</span> <span class="n">area</span><span class="o">-&gt;</span><span class="n">y2</span><span class="p">;</span> <span class="n">y</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
        <span class="k">for</span><span class="p">(</span><span class="n">x</span> <span class="o">=</span> <span class="n">area</span><span class="o">-&gt;</span><span class="n">x1</span><span class="p">;</span> <span class="n">x</span> <span class="o">&lt;=</span> <span class="n">area</span><span class="o">-&gt;</span><span class="n">x2</span><span class="p">;</span> <span class="n">x</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
            <span class="n">put_px</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="o">*</span><span class="n">color_p</span><span class="p">);</span>
            <span class="n">color_p</span><span class="o">++</span><span class="p">;</span>
        <span class="p">}</span>
    <span class="p">}</span>

    <span class="cm">/* IMPORTANT!!!</span>
<span class="cm">     * Inform the graphics library that you are ready with the flushing*/</span>
    <span class="n">lv_disp_flush_ready</span><span class="p">(</span><span class="n">disp_drv</span><span class="p">);</span>
<span class="p">}</span>

<span class="kt">void</span> <span class="nf">my_gpu_fill_cb</span><span class="p">(</span><span class="n">lv_disp_drv_t</span> <span class="o">*</span> <span class="n">disp_drv</span><span class="p">,</span> <span class="n">lv_color_t</span> <span class="o">*</span> <span class="n">dest_buf</span><span class="p">,</span> <span class="k">const</span> <span class="n">lv_area_t</span> <span class="o">*</span> <span class="n">dest_area</span><span class="p">,</span> <span class="k">const</span> <span class="n">lv_area_t</span> <span class="o">*</span> <span class="n">fill_area</span><span class="p">,</span> <span class="n">lv_color_t</span> <span class="n">color</span><span class="p">);</span>
<span class="p">{</span>
    <span class="cm">/*It&#39;s an example code which should be done by your GPU*/</span>
    <span class="kt">uint32_t</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">;</span>
    <span class="n">dest_buf</span> <span class="o">+=</span> <span class="n">dest_width</span> <span class="o">*</span> <span class="n">fill_area</span><span class="o">-&gt;</span><span class="n">y1</span><span class="p">;</span> <span class="cm">/*Go to the first line*/</span>

    <span class="k">for</span><span class="p">(</span><span class="n">y</span> <span class="o">=</span> <span class="n">fill_area</span><span class="o">-&gt;</span><span class="n">y1</span><span class="p">;</span> <span class="n">y</span> <span class="o">&lt;</span> <span class="n">fill_area</span><span class="o">-&gt;</span><span class="n">y2</span><span class="p">;</span> <span class="n">y</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
        <span class="k">for</span><span class="p">(</span><span class="n">x</span> <span class="o">=</span> <span class="n">fill_area</span><span class="o">-&gt;</span><span class="n">x1</span><span class="p">;</span> <span class="n">x</span> <span class="o">&lt;</span> <span class="n">fill_area</span><span class="o">-&gt;</span><span class="n">x2</span><span class="p">;</span> <span class="n">x</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
            <span class="n">dest_buf</span><span class="p">[</span><span class="n">x</span><span class="p">]</span> <span class="o">=</span> <span class="n">color</span><span class="p">;</span>
        <span class="p">}</span>
        <span class="n">dest_buf</span><span class="o">+=</span><span class="n">dest_width</span><span class="p">;</span>    <span class="cm">/*Go to the next line*/</span>
    <span class="p">}</span>
<span class="p">}</span>


<span class="kt">void</span> <span class="n">my_rounder_cb</span><span class="p">(</span><span class="n">lv_disp_drv_t</span> <span class="o">*</span> <span class="n">disp_drv</span><span class="p">,</span> <span class="n">lv_area_t</span> <span class="o">*</span> <span class="n">area</span><span class="p">)</span>
<span class="p">{</span>
  <span class="cm">/* Update the areas as needed.</span>
<span class="cm">   * For example it makes the area to start only on 8th rows and have Nx8 pixel height.*/</span>
   <span class="n">area</span><span class="o">-&gt;</span><span class="n">y1</span> <span class="o">=</span> <span class="n">area</span><span class="o">-&gt;</span><span class="n">y1</span> <span class="o">&amp;</span> <span class="mh">0x07</span><span class="p">;</span>
   <span class="n">area</span><span class="o">-&gt;</span><span class="n">y2</span> <span class="o">=</span> <span class="p">(</span><span class="n">area</span><span class="o">-&gt;</span><span class="n">y2</span> <span class="o">&amp;</span> <span class="mh">0x07</span><span class="p">)</span> <span class="o">+</span> <span class="mi">8</span><span class="p">;</span>
<span class="p">}</span>

<span class="kt">void</span> <span class="n">my_set_px_cb</span><span class="p">(</span><span class="n">lv_disp_drv_t</span> <span class="o">*</span> <span class="n">disp_drv</span><span class="p">,</span> <span class="kt">uint8_t</span> <span class="o">*</span> <span class="n">buf</span><span class="p">,</span> <span class="n">lv_coord_t</span> <span class="n">buf_w</span><span class="p">,</span> <span class="n">lv_coord_t</span> <span class="n">x</span><span class="p">,</span> <span class="n">lv_coord_t</span> <span class="n">y</span><span class="p">,</span> <span class="n">lv_color_t</span> <span class="n">color</span><span class="p">,</span> <span class="n">lv_opa_t</span> <span class="n">opa</span><span class="p">)</span>
<span class="p">{</span>
   <span class="cm">/* Write to the buffer as required for the display.</span>
<span class="cm">    * For example it writes only 1-bit for monochrome displays mapped vertically.*/</span>
   <span class="n">buf</span> <span class="o">+=</span> <span class="n">buf_w</span> <span class="o">*</span> <span class="p">(</span><span class="n">y</span> <span class="o">&gt;&gt;</span> <span class="mi">3</span><span class="p">)</span> <span class="o">+</span> <span class="n">x</span><span class="p">;</span>
   <span class="k">if</span><span class="p">(</span><span class="n">lv_color_brightness</span><span class="p">(</span><span class="n">color</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">128</span><span class="p">)</span> <span class="p">(</span><span class="o">*</span><span class="n">buf</span><span class="p">)</span> <span class="o">|=</span> <span class="p">(</span><span class="mi">1</span> <span class="o">&lt;&lt;</span> <span class="p">(</span><span class="n">y</span> <span class="o">%</span> <span class="mi">8</span><span class="p">));</span>
   <span class="k">else</span> <span class="p">(</span><span class="o">*</span><span class="n">buf</span><span class="p">)</span> <span class="o">&amp;=</span> <span class="o">~</span><span class="p">(</span><span class="mi">1</span> <span class="o">&lt;&lt;</span> <span class="p">(</span><span class="n">y</span> <span class="o">%</span> <span class="mi">8</span><span class="p">));</span>
<span class="p">}</span>

<span class="kt">void</span> <span class="n">my_monitor_cb</span><span class="p">(</span><span class="n">lv_disp_drv_t</span> <span class="o">*</span> <span class="n">disp_drv</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">time</span><span class="p">,</span> <span class="kt">uint32_t</span> <span class="n">px</span><span class="p">)</span>
<span class="p">{</span>
  <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%d px refreshed in %d ms</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">time</span><span class="p">,</span> <span class="n">ms</span><span class="p">);</span>
<span class="p">}</span>

<span class="kt">void</span> <span class="n">my_clean_dcache_cb</span><span class="p">(</span><span class="n">lv_disp_drv_t</span> <span class="o">*</span> <span class="n">disp_drv</span><span class="p">,</span> <span class="n">uint32</span><span class="p">)</span>
<span class="p">{</span>
  <span class="cm">/* Example for Cortex-M (CMSIS) */</span>
  <span class="n">SCB_CleanInvalidateDCache</span><span class="p">();</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
<div class="section" id="rotation">
<h2>Rotation<a class="headerlink" href="#rotation" title="Permalink to this headline">¶</a></h2>
<p>LVGL supports rotation of the display in 90 degree increments. You can select whether you'd like software rotation or hardware rotation.</p>
<p>If you select software rotation (<code class="docutils literal notranslate"><span class="pre">sw_rotate</span></code> flag set to 1), LVGL will perform the rotation for you. Your driver can and should assume that the screen width and height have not changed. Simply flush pixels to the display as normal. Software rotation requires no additional logic in your <code class="docutils literal notranslate"><span class="pre">flush_cb</span></code> callback.</p>
<p>There is a noticeable amount of overhead to performing rotation in software. Hardware rotation is available to avoid unwanted slowdowns. In this mode, LVGL draws into the buffer as if your screen width and height were swapped. You are responsible for rotating the provided pixels yourself.</p>
<p>The default rotation of your display when it is initialized can be set using the <code class="docutils literal notranslate"><span class="pre">rotated</span></code> flag. The available options are <code class="docutils literal notranslate"><span class="pre">LV_DISP_ROT_NONE</span></code>, <code class="docutils literal notranslate"><span class="pre">LV_DISP_ROT_90</span></code>, <code class="docutils literal notranslate"><span class="pre">LV_DISP_ROT_180</span></code>, or <code class="docutils literal notranslate"><span class="pre">LV_DISP_ROT_270</span></code>. The rotation values are relative to how you would rotate the physical display in the clockwise direction. Thus, <code class="docutils literal notranslate"><span class="pre">LV_DISP_ROT_90</span></code> means you rotate the hardware 90 degrees clockwise, and the display rotates 90 degrees counterclockwise to compensate.</p>
<p>(Note for users upgrading from 7.10.0 and older: these new rotation enum values match up with the old 0/1 system for rotating 90 degrees, so legacy code should continue to work as expected. Software rotation is also disabled by default for compatibility.)</p>
<p>Display rotation can also be changed at runtime using the <code class="docutils literal notranslate"><span class="pre">lv_disp_set_rotation(disp,</span> <span class="pre">rot)</span></code> API.</p>
<p>Support for software rotation is a new feature, so there may be some glitches/bugs depending on your configuration. If you encounter a problem please open an issue on <a class="reference external" href="https://github.com/lvgl/lvgl/issues">GitHub</a>.</p>
</div>
<div class="section" id="further-reading">
<h2>Further reading<a class="headerlink" href="#further-reading" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/lvgl/lvgl/blob/master/examples/porting/lv_port_disp_template.c">lv_port_disp_template.c</a> for a template for your own driver.</p></li>
<li><p><a class="reference internal" href="../overview/drawing.html"><span class="doc">Drawing</span></a> to learn more about how rendering works in LVGL.</p></li>
<li><p><a class="reference internal" href="../overview/display.html"><span class="doc">Display features</span></a> to learn more about higher level display features.</p></li>
</ul>
</div>
<div class="section" id="api">
<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">¶</a></h2>
<p>&#64;description Display Driver HAL interface header file </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-typedefs">Typedefs</p>
<dl class="cpp type">
<dt class="sig sig-object cpp" id="_CPPv418lv_disp_draw_buf_t">
<span id="_CPPv318lv_disp_draw_buf_t"></span><span id="_CPPv218lv_disp_draw_buf_t"></span><span id="lv_disp_draw_buf_t"></span><span class="target" id="lv__hal__disp_8h_1aabc7592e4a01c99ac13c46aa45296ca3"></span><span class="k"><span class="pre">typedef</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv419_lv_disp_draw_buf_t" title="_lv_disp_draw_buf_t"><span class="n"><span class="pre">_lv_disp_draw_buf_t</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_draw_buf_t</span></span></span><a class="headerlink" href="#_CPPv418lv_disp_draw_buf_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Structure for holding display buffer information. </p>
</dd></dl>

<dl class="cpp type">
<dt class="sig sig-object cpp" id="_CPPv413lv_disp_drv_t">
<span id="_CPPv313lv_disp_drv_t"></span><span id="_CPPv213lv_disp_drv_t"></span><span id="lv_disp_drv_t"></span><span class="target" id="lv__hal__disp_8h_1ad9ffc837ed3653c57cc9c961cafe2774"></span><span class="k"><span class="pre">typedef</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv414_lv_disp_drv_t" title="_lv_disp_drv_t"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_drv_t</span></span></span><a class="headerlink" href="#_CPPv413lv_disp_drv_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Display Driver structure to be registered by HAL. Only its pointer will be saved in <code class="docutils literal notranslate"><span class="pre">lv_disp_t</span></code> so it should be declared as <code class="docutils literal notranslate"><span class="pre">static</span> <span class="pre">lv_disp_drv_t</span> <span class="pre">my_drv</span></code> or allocated dynamically. </p>
</dd></dl>

<dl class="cpp type">
<dt class="sig sig-object cpp" id="_CPPv49lv_disp_t">
<span id="_CPPv39lv_disp_t"></span><span id="_CPPv29lv_disp_t"></span><span id="lv_disp_t"></span><span class="target" id="lv__hal__disp_8h_1a38e817df2a5f77f36d3fe4975cf58129"></span><span class="k"><span class="pre">typedef</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv410_lv_disp_t" title="_lv_disp_t"><span class="n"><span class="pre">_lv_disp_t</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_t</span></span></span><a class="headerlink" href="#_CPPv49lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Display structure. </p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p><code class="docutils literal notranslate"><span class="pre">lv_disp_drv_t</span></code> should be the first member of the structure. </p>
</div>
</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-enums">Enums</p>
<dl class="cpp enum">
<dt class="sig sig-object cpp" id="_CPPv413lv_disp_rot_t">
<span id="_CPPv313lv_disp_rot_t"></span><span id="_CPPv213lv_disp_rot_t"></span><span class="target" id="lv__hal__disp_8h_1a0f69330483fab1cfa5080f3dc093ccb6"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_rot_t</span></span></span><a class="headerlink" href="#_CPPv413lv_disp_rot_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N13lv_disp_rot_t16LV_DISP_ROT_NONEE">
<span id="_CPPv3N13lv_disp_rot_t16LV_DISP_ROT_NONEE"></span><span id="_CPPv2N13lv_disp_rot_t16LV_DISP_ROT_NONEE"></span><span class="target" id="lv__hal__disp_8h_1a0f69330483fab1cfa5080f3dc093ccb6a2dfe7a4942493ec02e286eaebd460a68"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">LV_DISP_ROT_NONE</span></span></span><a class="headerlink" href="#_CPPv4N13lv_disp_rot_t16LV_DISP_ROT_NONEE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N13lv_disp_rot_t14LV_DISP_ROT_90E">
<span id="_CPPv3N13lv_disp_rot_t14LV_DISP_ROT_90E"></span><span id="_CPPv2N13lv_disp_rot_t14LV_DISP_ROT_90E"></span><span class="target" id="lv__hal__disp_8h_1a0f69330483fab1cfa5080f3dc093ccb6a6ff02d8715c54c4f5d284c3600f9b97f"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">LV_DISP_ROT_90</span></span></span><a class="headerlink" href="#_CPPv4N13lv_disp_rot_t14LV_DISP_ROT_90E" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N13lv_disp_rot_t15LV_DISP_ROT_180E">
<span id="_CPPv3N13lv_disp_rot_t15LV_DISP_ROT_180E"></span><span id="_CPPv2N13lv_disp_rot_t15LV_DISP_ROT_180E"></span><span class="target" id="lv__hal__disp_8h_1a0f69330483fab1cfa5080f3dc093ccb6a2ec03874fe1b8cd9cb489a32e897e1ae"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">LV_DISP_ROT_180</span></span></span><a class="headerlink" href="#_CPPv4N13lv_disp_rot_t15LV_DISP_ROT_180E" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N13lv_disp_rot_t15LV_DISP_ROT_270E">
<span id="_CPPv3N13lv_disp_rot_t15LV_DISP_ROT_270E"></span><span id="_CPPv2N13lv_disp_rot_t15LV_DISP_ROT_270E"></span><span class="target" id="lv__hal__disp_8h_1a0f69330483fab1cfa5080f3dc093ccb6aa0b9fa2fac54af6452dfd5e473cb460a"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">LV_DISP_ROT_270</span></span></span><a class="headerlink" href="#_CPPv4N13lv_disp_rot_t15LV_DISP_ROT_270E" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-functions">Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv416lv_disp_drv_initP13lv_disp_drv_t">
<span id="_CPPv316lv_disp_drv_initP13lv_disp_drv_t"></span><span id="_CPPv216lv_disp_drv_initP13lv_disp_drv_t"></span><span id="lv_disp_drv_init__lv_disp_drv_tP"></span><span class="target" id="lv__hal__disp_8h_1a2a24b30cf6089a3d319bfa624e224894"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_drv_init</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv413lv_disp_drv_t" title="lv_disp_drv_t"><span class="n"><span class="pre">lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">driver</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv416lv_disp_drv_initP13lv_disp_drv_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Initialize a display driver with default values. It is used to have known values in the fields and not junk in memory. After it you can safely set only the fields you need. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>driver</strong> -- pointer to driver variable to initialize </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv421lv_disp_draw_buf_initP18lv_disp_draw_buf_tPvPv8uint32_t">
<span id="_CPPv321lv_disp_draw_buf_initP18lv_disp_draw_buf_tPvPv8uint32_t"></span><span id="_CPPv221lv_disp_draw_buf_initP18lv_disp_draw_buf_tPvPv8uint32_t"></span><span id="lv_disp_draw_buf_init__lv_disp_draw_buf_tP.voidP.voidP.uint32_t"></span><span class="target" id="lv__hal__disp_8h_1a06fe2e658c41b550e6ede53f1a267a0a"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_draw_buf_init</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv418lv_disp_draw_buf_t" title="lv_disp_draw_buf_t"><span class="n"><span class="pre">lv_disp_draw_buf_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">draw_buf</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">buf1</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">buf2</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">size_in_px_cnt</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv421lv_disp_draw_buf_initP18lv_disp_draw_buf_tPvPv8uint32_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Initialize a display buffer </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>draw_buf</strong> -- pointer <code class="docutils literal notranslate"><span class="pre">lv_disp_draw_buf_t</span></code> variable to initialize </p></li>
<li><p><strong>buf1</strong> -- A buffer to be used by LVGL to draw the image. Always has to specified and can't be NULL. Can be an array allocated by the user. E.g. <code class="docutils literal notranslate"><span class="pre">static</span> <span class="pre">lv_color_t</span> <span class="pre">disp_buf1[1024</span> <span class="pre">*</span> <span class="pre">10]</span></code> Or a memory address e.g. in external SRAM </p></li>
<li><p><strong>buf2</strong> -- Optionally specify a second buffer to make image rendering and image flushing (sending to the display) parallel. In the <code class="docutils literal notranslate"><span class="pre">disp_drv-&gt;flush</span></code> you should use DMA or similar hardware to send the image to the display in the background. It lets LVGL to render next frame into the other buffer while previous is being sent. Set to <code class="docutils literal notranslate"><span class="pre">NULL</span></code> if unused. </p></li>
<li><p><strong>size_in_px_cnt</strong> -- size of the <code class="docutils literal notranslate"><span class="pre">buf1</span></code> and <code class="docutils literal notranslate"><span class="pre">buf2</span></code> in pixel count. </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv420lv_disp_drv_registerP13lv_disp_drv_t">
<span id="_CPPv320lv_disp_drv_registerP13lv_disp_drv_t"></span><span id="_CPPv220lv_disp_drv_registerP13lv_disp_drv_t"></span><span id="lv_disp_drv_register__lv_disp_drv_tP"></span><span class="target" id="lv__hal__disp_8h_1ac0597fcee8b04c6c9b4fa7667da2e218"></span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_drv_register</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv413lv_disp_drv_t" title="lv_disp_drv_t"><span class="n"><span class="pre">lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">driver</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv420lv_disp_drv_registerP13lv_disp_drv_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Register an initialized display driver. Automatically set the first display as active. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>driver</strong> -- pointer to an initialized 'lv_disp_drv_t' variable. Only its pointer is saved! </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>pointer to the new display or NULL on error </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv418lv_disp_drv_updateP9lv_disp_tP13lv_disp_drv_t">
<span id="_CPPv318lv_disp_drv_updateP9lv_disp_tP13lv_disp_drv_t"></span><span id="_CPPv218lv_disp_drv_updateP9lv_disp_tP13lv_disp_drv_t"></span><span id="lv_disp_drv_update__lv_disp_tP.lv_disp_drv_tP"></span><span class="target" id="lv__hal__disp_8h_1a0e26ace940fd5d3a9f27ffdc322f6a86"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_drv_update</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span>, <a class="reference internal" href="#_CPPv413lv_disp_drv_t" title="lv_disp_drv_t"><span class="n"><span class="pre">lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">new_drv</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418lv_disp_drv_updateP9lv_disp_tP13lv_disp_drv_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Update the driver in run time. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>disp</strong> -- pointer to a display. (return value of <code class="docutils literal notranslate"><span class="pre">lv_disp_drv_register</span></code>) </p></li>
<li><p><strong>new_drv</strong> -- pointer to the new driver </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv414lv_disp_removeP9lv_disp_t">
<span id="_CPPv314lv_disp_removeP9lv_disp_t"></span><span id="_CPPv214lv_disp_removeP9lv_disp_t"></span><span id="lv_disp_remove__lv_disp_tP"></span><span class="target" id="lv__hal__disp_8h_1af37aec229f23769468de96750be77bfc"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_remove</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv414lv_disp_removeP9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Remove a display </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to display </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv419lv_disp_set_defaultP9lv_disp_t">
<span id="_CPPv319lv_disp_set_defaultP9lv_disp_t"></span><span id="_CPPv219lv_disp_set_defaultP9lv_disp_t"></span><span id="lv_disp_set_default__lv_disp_tP"></span><span class="target" id="lv__hal__disp_8h_1a490ee32cbb499fb8f2e2439a8ed7fbb6"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_set_default</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv419lv_disp_set_defaultP9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Set a default display. The new screens will be created on it by default. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to a display </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv419lv_disp_get_defaultv">
<span id="_CPPv319lv_disp_get_defaultv"></span><span id="_CPPv219lv_disp_get_defaultv"></span><span id="lv_disp_get_default__void"></span><span class="target" id="lv__hal__disp_8h_1a1989caf62ece629efb8962d462ebef9e"></span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_get_default</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv419lv_disp_get_defaultv" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the default display </p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>pointer to the default display </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv419lv_disp_get_hor_resP9lv_disp_t">
<span id="_CPPv319lv_disp_get_hor_resP9lv_disp_t"></span><span id="_CPPv219lv_disp_get_hor_resP9lv_disp_t"></span><span id="lv_disp_get_hor_res__lv_disp_tP"></span><span class="target" id="lv__hal__disp_8h_1a31a32a09b2b1b6ac0ebeedcd6d6f8ce3"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_get_hor_res</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv419lv_disp_get_hor_resP9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the horizontal resolution of a display </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to a display (NULL to use the default display) </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the horizontal resolution of the display </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv419lv_disp_get_ver_resP9lv_disp_t">
<span id="_CPPv319lv_disp_get_ver_resP9lv_disp_t"></span><span id="_CPPv219lv_disp_get_ver_resP9lv_disp_t"></span><span id="lv_disp_get_ver_res__lv_disp_tP"></span><span class="target" id="lv__hal__disp_8h_1ad89a6aa4394a200d4482aa605cc57107"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_get_ver_res</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv419lv_disp_get_ver_resP9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the vertical resolution of a display </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to a display (NULL to use the default display) </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the vertical resolution of the display </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv428lv_disp_get_physical_hor_resP9lv_disp_t">
<span id="_CPPv328lv_disp_get_physical_hor_resP9lv_disp_t"></span><span id="_CPPv228lv_disp_get_physical_hor_resP9lv_disp_t"></span><span id="lv_disp_get_physical_hor_res__lv_disp_tP"></span><span class="target" id="lv__hal__disp_8h_1a4663bc51a7c4d5e9da787bb1537dbbfa"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_get_physical_hor_res</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv428lv_disp_get_physical_hor_resP9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the full / physical horizontal resolution of a display </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to a display (NULL to use the default display) </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the full / physical horizontal resolution of the display </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv428lv_disp_get_physical_ver_resP9lv_disp_t">
<span id="_CPPv328lv_disp_get_physical_ver_resP9lv_disp_t"></span><span id="_CPPv228lv_disp_get_physical_ver_resP9lv_disp_t"></span><span id="lv_disp_get_physical_ver_res__lv_disp_tP"></span><span class="target" id="lv__hal__disp_8h_1a241e3b50cd66d7d26e7be62798b862d5"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_get_physical_ver_res</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv428lv_disp_get_physical_ver_resP9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the full / physical vertical resolution of a display </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to a display (NULL to use the default display) </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the full / physical vertical resolution of the display </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv420lv_disp_get_offset_xP9lv_disp_t">
<span id="_CPPv320lv_disp_get_offset_xP9lv_disp_t"></span><span id="_CPPv220lv_disp_get_offset_xP9lv_disp_t"></span><span id="lv_disp_get_offset_x__lv_disp_tP"></span><span class="target" id="lv__hal__disp_8h_1aed6bc4bfa2192d86cca4a7bc07809295"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_get_offset_x</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv420lv_disp_get_offset_xP9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the horizontal offset from the full / physical display </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to a display (NULL to use the default display) </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the horizontal offset from the full / physical display </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv420lv_disp_get_offset_yP9lv_disp_t">
<span id="_CPPv320lv_disp_get_offset_yP9lv_disp_t"></span><span id="_CPPv220lv_disp_get_offset_yP9lv_disp_t"></span><span id="lv_disp_get_offset_y__lv_disp_tP"></span><span class="target" id="lv__hal__disp_8h_1ac7443a8c244b2f6742a413cd237b8399"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_get_offset_y</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv420lv_disp_get_offset_yP9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the vertical offset from the full / physical display </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to a display (NULL to use the default display) </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the horizontal offset from the full / physical display </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv424lv_disp_get_antialiasingP9lv_disp_t">
<span id="_CPPv324lv_disp_get_antialiasingP9lv_disp_t"></span><span id="_CPPv224lv_disp_get_antialiasingP9lv_disp_t"></span><span id="lv_disp_get_antialiasing__lv_disp_tP"></span><span class="target" id="lv__hal__disp_8h_1abe0f2764b9f8b355aa6df60ab75bd70f"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_get_antialiasing</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv424lv_disp_get_antialiasingP9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get if anti-aliasing is enabled for a display or not </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to a display (NULL to use the default display) </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>true: anti-aliasing is enabled; false: disabled </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv415lv_disp_get_dpiPK9lv_disp_t">
<span id="_CPPv315lv_disp_get_dpiPK9lv_disp_t"></span><span id="_CPPv215lv_disp_get_dpiPK9lv_disp_t"></span><span id="lv_disp_get_dpi__lv_disp_tCP"></span><span class="target" id="lv__hal__disp_8h_1a438d2021a713a4e495acbaadaedac2ec"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_get_dpi</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv415lv_disp_get_dpiPK9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the DPI of the display </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to a display (NULL to use the default display) </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>dpi of the display </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv420lv_disp_set_rotationP9lv_disp_t13lv_disp_rot_t">
<span id="_CPPv320lv_disp_set_rotationP9lv_disp_t13lv_disp_rot_t"></span><span id="_CPPv220lv_disp_set_rotationP9lv_disp_t13lv_disp_rot_t"></span><span id="lv_disp_set_rotation__lv_disp_tP.lv_disp_rot_t"></span><span class="target" id="lv__hal__disp_8h_1a9dd8166a1c4c1904e10bea3ee105291f"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_set_rotation</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span>, <a class="reference internal" href="#_CPPv413lv_disp_rot_t" title="lv_disp_rot_t"><span class="n"><span class="pre">lv_disp_rot_t</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">rotation</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv420lv_disp_set_rotationP9lv_disp_t13lv_disp_rot_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Set the rotation of this display. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>disp</strong> -- pointer to a display (NULL to use the default display) </p></li>
<li><p><strong>rotation</strong> -- rotation angle </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv420lv_disp_get_rotationP9lv_disp_t">
<span id="_CPPv320lv_disp_get_rotationP9lv_disp_t"></span><span id="_CPPv220lv_disp_get_rotationP9lv_disp_t"></span><span id="lv_disp_get_rotation__lv_disp_tP"></span><span class="target" id="lv__hal__disp_8h_1a224b7aad394be3e18e519c5f797dad15"></span><a class="reference internal" href="#_CPPv413lv_disp_rot_t" title="lv_disp_rot_t"><span class="n"><span class="pre">lv_disp_rot_t</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_get_rotation</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv420lv_disp_get_rotationP9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the current rotation of this display. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to a display (NULL to use the default display) </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>rotation angle </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv416lv_disp_get_nextP9lv_disp_t">
<span id="_CPPv316lv_disp_get_nextP9lv_disp_t"></span><span id="_CPPv216lv_disp_get_nextP9lv_disp_t"></span><span id="lv_disp_get_next__lv_disp_tP"></span><span class="target" id="lv__hal__disp_8h_1a98bd7729feac5847ea164141825e10a7"></span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_get_next</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv416lv_disp_get_nextP9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the next display. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to the current display. NULL to initialize. </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>the next display or NULL if no more. Give the first display when the parameter is NULL </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv420lv_disp_get_draw_bufP9lv_disp_t">
<span id="_CPPv320lv_disp_get_draw_bufP9lv_disp_t"></span><span id="_CPPv220lv_disp_get_draw_bufP9lv_disp_t"></span><span id="lv_disp_get_draw_buf__lv_disp_tP"></span><span class="target" id="lv__hal__disp_8h_1a31300599f85a03e5287fdf3fb997efa6"></span><a class="reference internal" href="#_CPPv418lv_disp_draw_buf_t" title="lv_disp_draw_buf_t"><span class="n"><span class="pre">lv_disp_draw_buf_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_get_draw_buf</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv49lv_disp_t" title="lv_disp_t"><span class="n"><span class="pre">lv_disp_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv420lv_disp_get_draw_bufP9lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the internal buffer of a display </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>disp</strong> -- pointer to a display </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>pointer to the internal buffers </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv433lv_disp_drv_use_generic_set_px_cbP13lv_disp_drv_t11lv_img_cf_t">
<span id="_CPPv333lv_disp_drv_use_generic_set_px_cbP13lv_disp_drv_t11lv_img_cf_t"></span><span id="_CPPv233lv_disp_drv_use_generic_set_px_cbP13lv_disp_drv_t11lv_img_cf_t"></span><span id="lv_disp_drv_use_generic_set_px_cb__lv_disp_drv_tP.lv_img_cf_t"></span><span class="target" id="lv__hal__disp_8h_1a619ee8c54c3ceee9e3e6be340fa9211c"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_disp_drv_use_generic_set_px_cb</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv413lv_disp_drv_t" title="lv_disp_drv_t"><span class="n"><span class="pre">lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">disp_drv</span></span>, <a class="reference internal" href="../overview/image.html#_CPPv411lv_img_cf_t" title="lv_img_cf_t"><span class="n"><span class="pre">lv_img_cf_t</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">cf</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv433lv_disp_drv_use_generic_set_px_cbP13lv_disp_drv_t11lv_img_cf_t" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

</div>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv419_lv_disp_draw_buf_t">
<span id="_CPPv319_lv_disp_draw_buf_t"></span><span id="_CPPv219_lv_disp_draw_buf_t"></span><span id="_lv_disp_draw_buf_t"></span><span class="target" id="struct__lv__disp__draw__buf__t"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">_lv_disp_draw_buf_t</span></span></span><a class="headerlink" href="#_CPPv419_lv_disp_draw_buf_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><em>#include &lt;lv_hal_disp.h&gt;</em><p>Structure for holding display buffer information. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N19_lv_disp_draw_buf_t4buf1E">
<span id="_CPPv3N19_lv_disp_draw_buf_t4buf1E"></span><span id="_CPPv2N19_lv_disp_draw_buf_t4buf1E"></span><span id="_lv_disp_draw_buf_t::buf1__voidP"></span><span class="target" id="struct__lv__disp__draw__buf__t_1aaf879cfaa7bcaa2b13b4b968c0506dcd"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">buf1</span></span></span><a class="headerlink" href="#_CPPv4N19_lv_disp_draw_buf_t4buf1E" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>First display buffer. </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N19_lv_disp_draw_buf_t4buf2E">
<span id="_CPPv3N19_lv_disp_draw_buf_t4buf2E"></span><span id="_CPPv2N19_lv_disp_draw_buf_t4buf2E"></span><span id="_lv_disp_draw_buf_t::buf2__voidP"></span><span class="target" id="struct__lv__disp__draw__buf__t_1ab8e7578487bb68dae44dfd0d6cc7afca"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">buf2</span></span></span><a class="headerlink" href="#_CPPv4N19_lv_disp_draw_buf_t4buf2E" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Second display buffer. </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N19_lv_disp_draw_buf_t7buf_actE">
<span id="_CPPv3N19_lv_disp_draw_buf_t7buf_actE"></span><span id="_CPPv2N19_lv_disp_draw_buf_t7buf_actE"></span><span id="_lv_disp_draw_buf_t::buf_act__voidP"></span><span class="target" id="struct__lv__disp__draw__buf__t_1a0341ae8d316886df8cf3aec7a5b7a682"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">buf_act</span></span></span><a class="headerlink" href="#_CPPv4N19_lv_disp_draw_buf_t7buf_actE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N19_lv_disp_draw_buf_t4sizeE">
<span id="_CPPv3N19_lv_disp_draw_buf_t4sizeE"></span><span id="_CPPv2N19_lv_disp_draw_buf_t4sizeE"></span><span id="_lv_disp_draw_buf_t::size__uint32_t"></span><span class="target" id="struct__lv__disp__draw__buf__t_1a7663f2323bd87f312af4106ff932b644"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">size</span></span></span><a class="headerlink" href="#_CPPv4N19_lv_disp_draw_buf_t4sizeE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N19_lv_disp_draw_buf_t8flushingE">
<span id="_CPPv3N19_lv_disp_draw_buf_t8flushingE"></span><span id="_CPPv2N19_lv_disp_draw_buf_t8flushingE"></span><span id="_lv_disp_draw_buf_t::flushing__i"></span><span class="target" id="struct__lv__disp__draw__buf__t_1ab0041b03e5113dbde1b8e05de44af68d"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">flushing</span></span></span><a class="headerlink" href="#_CPPv4N19_lv_disp_draw_buf_t8flushingE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N19_lv_disp_draw_buf_t13flushing_lastE">
<span id="_CPPv3N19_lv_disp_draw_buf_t13flushing_lastE"></span><span id="_CPPv2N19_lv_disp_draw_buf_t13flushing_lastE"></span><span id="_lv_disp_draw_buf_t::flushing_last__i"></span><span class="target" id="struct__lv__disp__draw__buf__t_1a0f19ee85aaffa51f958539127ead1bd2"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">flushing_last</span></span></span><a class="headerlink" href="#_CPPv4N19_lv_disp_draw_buf_t13flushing_lastE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N19_lv_disp_draw_buf_t9last_areaE">
<span id="_CPPv3N19_lv_disp_draw_buf_t9last_areaE"></span><span id="_CPPv2N19_lv_disp_draw_buf_t9last_areaE"></span><span id="_lv_disp_draw_buf_t::last_area__uint32_t"></span><span class="target" id="struct__lv__disp__draw__buf__t_1a3c38f1b9c8efbebc92f3857535f575f2"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">last_area</span></span></span><a class="headerlink" href="#_CPPv4N19_lv_disp_draw_buf_t9last_areaE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N19_lv_disp_draw_buf_t9last_partE">
<span id="_CPPv3N19_lv_disp_draw_buf_t9last_partE"></span><span id="_CPPv2N19_lv_disp_draw_buf_t9last_partE"></span><span id="_lv_disp_draw_buf_t::last_part__uint32_t"></span><span class="target" id="struct__lv__disp__draw__buf__t_1a993e6cfa33172a55886a8c8bc235b942"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">last_part</span></span></span><a class="headerlink" href="#_CPPv4N19_lv_disp_draw_buf_t9last_partE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

</div>
</dd></dl>

<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv414_lv_disp_drv_t">
<span id="_CPPv314_lv_disp_drv_t"></span><span id="_CPPv214_lv_disp_drv_t"></span><span id="_lv_disp_drv_t"></span><span class="target" id="struct__lv__disp__drv__t"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></span><a class="headerlink" href="#_CPPv414_lv_disp_drv_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><em>#include &lt;lv_hal_disp.h&gt;</em><p>Display Driver structure to be registered by HAL. Only its pointer will be saved in <code class="docutils literal notranslate"><span class="pre">lv_disp_t</span></code> so it should be declared as <code class="docutils literal notranslate"><span class="pre">static</span> <span class="pre">lv_disp_drv_t</span> <span class="pre">my_drv</span></code> or allocated dynamically. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t7hor_resE">
<span id="_CPPv3N14_lv_disp_drv_t7hor_resE"></span><span id="_CPPv2N14_lv_disp_drv_t7hor_resE"></span><span id="_lv_disp_drv_t::hor_res__lv_coord_t"></span><span class="target" id="struct__lv__disp__drv__t_1a9a46dcf72a366efa819bccc6c243c52e"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hor_res</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t7hor_resE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Horizontal resolution. </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t7ver_resE">
<span id="_CPPv3N14_lv_disp_drv_t7ver_resE"></span><span id="_CPPv2N14_lv_disp_drv_t7ver_resE"></span><span id="_lv_disp_drv_t::ver_res__lv_coord_t"></span><span class="target" id="struct__lv__disp__drv__t_1a629f3773b25f0321cf19c67983e62b75"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ver_res</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t7ver_resE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Vertical resolution. </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t16physical_hor_resE">
<span id="_CPPv3N14_lv_disp_drv_t16physical_hor_resE"></span><span id="_CPPv2N14_lv_disp_drv_t16physical_hor_resE"></span><span id="_lv_disp_drv_t::physical_hor_res__lv_coord_t"></span><span class="target" id="struct__lv__disp__drv__t_1a9e4127d0410de5e8401ab96ad5c7731f"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">physical_hor_res</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t16physical_hor_resE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Horizontal resolution of the full / physical display. Set to -1 for fullscreen mode. </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t16physical_ver_resE">
<span id="_CPPv3N14_lv_disp_drv_t16physical_ver_resE"></span><span id="_CPPv2N14_lv_disp_drv_t16physical_ver_resE"></span><span id="_lv_disp_drv_t::physical_ver_res__lv_coord_t"></span><span class="target" id="struct__lv__disp__drv__t_1ad835a17e54002d23fe136d13ce29ad6d"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">physical_ver_res</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t16physical_ver_resE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Vertical resolution of the full / physical display. Set to -1 for fullscreen mode. </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t8offset_xE">
<span id="_CPPv3N14_lv_disp_drv_t8offset_xE"></span><span id="_CPPv2N14_lv_disp_drv_t8offset_xE"></span><span id="_lv_disp_drv_t::offset_x__lv_coord_t"></span><span class="target" id="struct__lv__disp__drv__t_1ab4c7bb6df22f3ea73ebad5cddfdaed3b"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">offset_x</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t8offset_xE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Horizontal offset from the full / physical display. Set to 0 for fullscreen mode. </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t8offset_yE">
<span id="_CPPv3N14_lv_disp_drv_t8offset_yE"></span><span id="_CPPv2N14_lv_disp_drv_t8offset_yE"></span><span id="_lv_disp_drv_t::offset_y__lv_coord_t"></span><span class="target" id="struct__lv__disp__drv__t_1a80999403d167ad631404dab2ac6f85c6"></span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">offset_y</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t8offset_yE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Vertical offset from the full / physical display. Set to 0 for fullscreen mode. </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t8draw_bufE">
<span id="_CPPv3N14_lv_disp_drv_t8draw_bufE"></span><span id="_CPPv2N14_lv_disp_drv_t8draw_bufE"></span><span id="_lv_disp_drv_t::draw_buf__lv_disp_draw_buf_tP"></span><span class="target" id="struct__lv__disp__drv__t_1a76b0d49876861b2e2f848c0b3f5c4792"></span><a class="reference internal" href="#_CPPv418lv_disp_draw_buf_t" title="lv_disp_draw_buf_t"><span class="n"><span class="pre">lv_disp_draw_buf_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">draw_buf</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t8draw_bufE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Pointer to a buffer initialized with <code class="docutils literal notranslate"><a class="reference internal" href="#lv__hal__disp_8h_1a06fe2e658c41b550e6ede53f1a267a0a"><span class="std std-ref"><span class="pre">lv_disp_draw_buf_init()</span></span></a></code>. LVGL will use this buffer(s) to draw the screens contents </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t11direct_modeE">
<span id="_CPPv3N14_lv_disp_drv_t11direct_modeE"></span><span id="_CPPv2N14_lv_disp_drv_t11direct_modeE"></span><span id="_lv_disp_drv_t::direct_mode__uint32_t"></span><span class="target" id="struct__lv__disp__drv__t_1a8c282533fa38e2c02e7bd59543ebe21a"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">direct_mode</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t11direct_modeE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>1: Use screen-sized buffers and draw to absolute coordinates </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t12full_refreshE">
<span id="_CPPv3N14_lv_disp_drv_t12full_refreshE"></span><span id="_CPPv2N14_lv_disp_drv_t12full_refreshE"></span><span id="_lv_disp_drv_t::full_refresh__uint32_t"></span><span class="target" id="struct__lv__disp__drv__t_1acdff28b6362847710348e09a80329a8e"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">full_refresh</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t12full_refreshE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>1: Always make the whole screen redrawn </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t9sw_rotateE">
<span id="_CPPv3N14_lv_disp_drv_t9sw_rotateE"></span><span id="_CPPv2N14_lv_disp_drv_t9sw_rotateE"></span><span id="_lv_disp_drv_t::sw_rotate__uint32_t"></span><span class="target" id="struct__lv__disp__drv__t_1a292c93471eee2cd218898281273da44e"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">sw_rotate</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t9sw_rotateE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>1: use software rotation (slower) </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t12antialiasingE">
<span id="_CPPv3N14_lv_disp_drv_t12antialiasingE"></span><span id="_CPPv2N14_lv_disp_drv_t12antialiasingE"></span><span id="_lv_disp_drv_t::antialiasing__uint32_t"></span><span class="target" id="struct__lv__disp__drv__t_1a5140627de9920d06824f64ba22a5a245"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">antialiasing</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t12antialiasingE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>1: anti-aliasing is enabled on this display. </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t7rotatedE">
<span id="_CPPv3N14_lv_disp_drv_t7rotatedE"></span><span id="_CPPv2N14_lv_disp_drv_t7rotatedE"></span><span id="_lv_disp_drv_t::rotated__uint32_t"></span><span class="target" id="struct__lv__disp__drv__t_1aa57abbd61258b5f8fb2af5a1e2b379d1"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">rotated</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t7rotatedE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>1: turn the display by 90 degree. </p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>Does not update coordinates for you! </p>
</div>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t13screen_transpE">
<span id="_CPPv3N14_lv_disp_drv_t13screen_transpE"></span><span id="_CPPv2N14_lv_disp_drv_t13screen_transpE"></span><span id="_lv_disp_drv_t::screen_transp__uint32_t"></span><span class="target" id="struct__lv__disp__drv__t_1a1f20bba3ab4e29515004e70e3fb0b725"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">screen_transp</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t13screen_transpE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t3dpiE">
<span id="_CPPv3N14_lv_disp_drv_t3dpiE"></span><span id="_CPPv2N14_lv_disp_drv_t3dpiE"></span><span id="_lv_disp_drv_t::dpi__uint32_t"></span><span class="target" id="struct__lv__disp__drv__t_1a45c3688e1af458041ca334d2e297adb6"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">dpi</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t3dpiE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Handle if the screen doesn't have a solid (opa == LV_OPA_COVER) background. Use only if required because it's slower. </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t8flush_cbE">
<span id="_CPPv3N14_lv_disp_drv_t8flush_cbE"></span><span id="_CPPv2N14_lv_disp_drv_t8flush_cbE"></span><span class="target" id="struct__lv__disp__drv__t_1a0579966c493920404caac738f467b614"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">flush_cb</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv414_lv_disp_drv_t" title="_lv_disp_drv_t"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">disp_drv</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">lv_area_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">area</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">lv_color_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">color_p</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t8flush_cbE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>DPI (dot per inch) of the display. Default value is <code class="docutils literal notranslate"><span class="pre">LV_DPI_DEF</span></code>. MANDATORY: Write the internal buffer (draw_buf) to the display. 'lv_disp_flush_ready()' has to be called when finished </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t10rounder_cbE">
<span id="_CPPv3N14_lv_disp_drv_t10rounder_cbE"></span><span id="_CPPv2N14_lv_disp_drv_t10rounder_cbE"></span><span class="target" id="struct__lv__disp__drv__t_1a151ea253d8396ea15ca79662cb8de3a7"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">rounder_cb</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv414_lv_disp_drv_t" title="_lv_disp_drv_t"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">disp_drv</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">lv_area_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">area</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t10rounder_cbE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>OPTIONAL: Extend the invalidated areas to match with the display drivers requirements E.g. round <code class="docutils literal notranslate"><span class="pre">y</span></code> to, 8, 16 ..) on a monochrome display </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t9set_px_cbE">
<span id="_CPPv3N14_lv_disp_drv_t9set_px_cbE"></span><span id="_CPPv2N14_lv_disp_drv_t9set_px_cbE"></span><span class="target" id="struct__lv__disp__drv__t_1a05e48a3ce29ceae24aa6106719dfc23e"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">set_px_cb</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv414_lv_disp_drv_t" title="_lv_disp_drv_t"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">disp_drv</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">buf</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n"><span class="pre">buf_w</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n"><span class="pre">y</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">lv_color_t</span></span><span class="w"> </span><span class="n"><span class="pre">color</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">lv_opa_t</span></span><span class="w"> </span><span class="n"><span class="pre">opa</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t9set_px_cbE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>OPTIONAL: Set a pixel in a buffer according to the special requirements of the display Can be used for color format not supported in LittelvGL. E.g. 2 bit -&gt; 4 gray scales </p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Much slower then drawing with supported color formats. </p>
</div>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t8clear_cbE">
<span id="_CPPv3N14_lv_disp_drv_t8clear_cbE"></span><span id="_CPPv2N14_lv_disp_drv_t8clear_cbE"></span><span class="target" id="struct__lv__disp__drv__t_1a20ab453ebd6b1026dc010bb75c3fb9c3"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">clear_cb</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv414_lv_disp_drv_t" title="_lv_disp_drv_t"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">disp_drv</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">buf</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n"><span class="pre">size</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t8clear_cbE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t10monitor_cbE">
<span id="_CPPv3N14_lv_disp_drv_t10monitor_cbE"></span><span id="_CPPv2N14_lv_disp_drv_t10monitor_cbE"></span><span class="target" id="struct__lv__disp__drv__t_1ab8e9021bc4401273f9e5e159baddc5a3"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">monitor_cb</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv414_lv_disp_drv_t" title="_lv_disp_drv_t"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">disp_drv</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n"><span class="pre">time</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n"><span class="pre">px</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t10monitor_cbE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>OPTIONAL: Called after every refresh cycle to tell the rendering and flushing time + the number of flushed pixels </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t7wait_cbE">
<span id="_CPPv3N14_lv_disp_drv_t7wait_cbE"></span><span id="_CPPv2N14_lv_disp_drv_t7wait_cbE"></span><span class="target" id="struct__lv__disp__drv__t_1a8a2da37af8c2236f72b54a008bb60206"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">wait_cb</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv414_lv_disp_drv_t" title="_lv_disp_drv_t"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">disp_drv</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t7wait_cbE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>OPTIONAL: Called periodically while lvgl waits for operation to be completed. For example flushing or GPU User can execute very simple tasks here or yield the task </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t15clean_dcache_cbE">
<span id="_CPPv3N14_lv_disp_drv_t15clean_dcache_cbE"></span><span id="_CPPv2N14_lv_disp_drv_t15clean_dcache_cbE"></span><span class="target" id="struct__lv__disp__drv__t_1a8f580334339f58469ce29aee4b8c97ac"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">clean_dcache_cb</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv414_lv_disp_drv_t" title="_lv_disp_drv_t"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">disp_drv</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t15clean_dcache_cbE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>OPTIONAL: Called when lvgl needs any CPU cache that affects rendering to be cleaned </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t13drv_update_cbE">
<span id="_CPPv3N14_lv_disp_drv_t13drv_update_cbE"></span><span id="_CPPv2N14_lv_disp_drv_t13drv_update_cbE"></span><span class="target" id="struct__lv__disp__drv__t_1a89a4b6012925cfe99c33659131b5d269"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">drv_update_cb</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv414_lv_disp_drv_t" title="_lv_disp_drv_t"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">disp_drv</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t13drv_update_cbE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>OPTIONAL: called when driver parameters are updated </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t16color_chroma_keyE">
<span id="_CPPv3N14_lv_disp_drv_t16color_chroma_keyE"></span><span id="_CPPv2N14_lv_disp_drv_t16color_chroma_keyE"></span><span id="_lv_disp_drv_t::color_chroma_key__lv_color_t"></span><span class="target" id="struct__lv__disp__drv__t_1adb7820a88a8b1726e7ba12e7c5538c70"></span><span class="n"><span class="pre">lv_color_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">color_chroma_key</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t16color_chroma_keyE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>On CHROMA_KEYED images this color will be transparent. <code class="docutils literal notranslate"><span class="pre">LV_COLOR_CHROMA_KEY</span></code> by default. (lv_conf.h) </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t8draw_ctxE">
<span id="_CPPv3N14_lv_disp_drv_t8draw_ctxE"></span><span id="_CPPv2N14_lv_disp_drv_t8draw_ctxE"></span><span id="_lv_disp_drv_t::draw_ctx__lv_draw_ctx_tP"></span><span class="target" id="struct__lv__disp__drv__t_1aeda0cfc7260f834eeaa1c53fab492293"></span><span class="n"><span class="pre">lv_draw_ctx_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">draw_ctx</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t8draw_ctxE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t13draw_ctx_initE">
<span id="_CPPv3N14_lv_disp_drv_t13draw_ctx_initE"></span><span id="_CPPv2N14_lv_disp_drv_t13draw_ctx_initE"></span><span class="target" id="struct__lv__disp__drv__t_1aba7ab4c879b0f4b798a1eaee6c6b0f47"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">draw_ctx_init</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv414_lv_disp_drv_t" title="_lv_disp_drv_t"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">disp_drv</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">lv_draw_ctx_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">draw_ctx</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t13draw_ctx_initE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t15draw_ctx_deinitE">
<span id="_CPPv3N14_lv_disp_drv_t15draw_ctx_deinitE"></span><span id="_CPPv2N14_lv_disp_drv_t15draw_ctx_deinitE"></span><span class="target" id="struct__lv__disp__drv__t_1ad8917c67e7bd427b5af306f7af7d9de9"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">draw_ctx_deinit</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv414_lv_disp_drv_t" title="_lv_disp_drv_t"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">disp_drv</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">lv_draw_ctx_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">draw_ctx</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t15draw_ctx_deinitE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t13draw_ctx_sizeE">
<span id="_CPPv3N14_lv_disp_drv_t13draw_ctx_sizeE"></span><span id="_CPPv2N14_lv_disp_drv_t13draw_ctx_sizeE"></span><span id="_lv_disp_drv_t::draw_ctx_size__s"></span><span class="target" id="struct__lv__disp__drv__t_1a820833f0ad76968bc152aee6654a398d"></span><span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">draw_ctx_size</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t13draw_ctx_sizeE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N14_lv_disp_drv_t9user_dataE">
<span id="_CPPv3N14_lv_disp_drv_t9user_dataE"></span><span id="_CPPv2N14_lv_disp_drv_t9user_dataE"></span><span id="_lv_disp_drv_t::user_data__voidP"></span><span class="target" id="struct__lv__disp__drv__t_1af5fdca24bab6f48c437c21a6d29864bd"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">user_data</span></span></span><a class="headerlink" href="#_CPPv4N14_lv_disp_drv_t9user_dataE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Custom display driver user data </p>
</dd></dl>

</div>
</dd></dl>

<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv410_lv_disp_t">
<span id="_CPPv310_lv_disp_t"></span><span id="_CPPv210_lv_disp_t"></span><span id="_lv_disp_t"></span><span class="target" id="struct__lv__disp__t"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">_lv_disp_t</span></span></span><a class="headerlink" href="#_CPPv410_lv_disp_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><em>#include &lt;lv_hal_disp.h&gt;</em><p>Display structure. <div class="admonition note">
<p class="admonition-title">Note</p>
<p><code class="docutils literal notranslate"><span class="pre">lv_disp_drv_t</span></code> should be the first member of the structure. </p>
</div>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t6driverE">
<span id="_CPPv3N10_lv_disp_t6driverE"></span><span id="_CPPv2N10_lv_disp_t6driverE"></span><span id="_lv_disp_t::driver___lv_disp_drv_tP"></span><span class="target" id="struct__lv__disp__t_1afc56043919c168bc664daa81c31a80e8"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv414_lv_disp_drv_t" title="_lv_disp_drv_t"><span class="n"><span class="pre">_lv_disp_drv_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">driver</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t6driverE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>&lt; Driver to the display A timer which periodically checks the dirty areas and refreshes them </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t10refr_timerE">
<span id="_CPPv3N10_lv_disp_t10refr_timerE"></span><span id="_CPPv2N10_lv_disp_t10refr_timerE"></span><span id="_lv_disp_t::refr_timer__lv_timer_tP"></span><span class="target" id="struct__lv__disp__t_1acbc2184a1dbdecdb0c575dfd9fd98238"></span><a class="reference internal" href="../overview/timer.html#_CPPv410lv_timer_t" title="lv_timer_t"><span class="n"><span class="pre">lv_timer_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">refr_timer</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t10refr_timerE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>The theme assigned to the screen </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t5themeE">
<span id="_CPPv3N10_lv_disp_t5themeE"></span><span id="_CPPv2N10_lv_disp_t5themeE"></span><span id="_lv_disp_t::theme___lv_theme_tP"></span><span class="target" id="struct__lv__disp__t_1a3ab3e959aceae19fd8b07d06acc92479"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="../overview/style.html#_CPPv411_lv_theme_t" title="_lv_theme_t"><span class="n"><span class="pre">_lv_theme_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">theme</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t5themeE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t7screensE">
<span id="_CPPv3N10_lv_disp_t7screensE"></span><span id="_CPPv2N10_lv_disp_t7screensE"></span><span id="_lv_disp_t::screens___lv_obj_tPP"></span><span class="target" id="struct__lv__disp__t_1a2721d7c9aa569c24c2a65537385abafc"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="../widgets/obj.html#_CPPv49_lv_obj_t" title="_lv_obj_t"><span class="n"><span class="pre">_lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">screens</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t7screensE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Screens of the display Array of screen objects. </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t7act_scrE">
<span id="_CPPv3N10_lv_disp_t7act_scrE"></span><span id="_CPPv2N10_lv_disp_t7act_scrE"></span><span id="_lv_disp_t::act_scr___lv_obj_tP"></span><span class="target" id="struct__lv__disp__t_1aecb603a4d3699a2af7beb0943edb0026"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="../widgets/obj.html#_CPPv49_lv_obj_t" title="_lv_obj_t"><span class="n"><span class="pre">_lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">act_scr</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t7act_scrE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Currently active screen on this display </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t8prev_scrE">
<span id="_CPPv3N10_lv_disp_t8prev_scrE"></span><span id="_CPPv2N10_lv_disp_t8prev_scrE"></span><span id="_lv_disp_t::prev_scr___lv_obj_tP"></span><span class="target" id="struct__lv__disp__t_1afe1c856999354e4b1d503af3a9a32a17"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="../widgets/obj.html#_CPPv49_lv_obj_t" title="_lv_obj_t"><span class="n"><span class="pre">_lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">prev_scr</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t8prev_scrE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Previous screen. Used during screen animations </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t11scr_to_loadE">
<span id="_CPPv3N10_lv_disp_t11scr_to_loadE"></span><span id="_CPPv2N10_lv_disp_t11scr_to_loadE"></span><span id="_lv_disp_t::scr_to_load___lv_obj_tP"></span><span class="target" id="struct__lv__disp__t_1aea061accb103f7fcb207296566cf8482"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="../widgets/obj.html#_CPPv49_lv_obj_t" title="_lv_obj_t"><span class="n"><span class="pre">_lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">scr_to_load</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t11scr_to_loadE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>The screen prepared to load in lv_scr_load_anim </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t9top_layerE">
<span id="_CPPv3N10_lv_disp_t9top_layerE"></span><span id="_CPPv2N10_lv_disp_t9top_layerE"></span><span id="_lv_disp_t::top_layer___lv_obj_tP"></span><span class="target" id="struct__lv__disp__t_1affbf46abc4c8a3631733b41c8cefaeff"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="../widgets/obj.html#_CPPv49_lv_obj_t" title="_lv_obj_t"><span class="n"><span class="pre">_lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">top_layer</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t9top_layerE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p><dl class="simple">
<dt><strong>See</strong></dt><dd><p><a class="reference internal" href="../overview/display.html#lv__disp_8h_1abb96745c10c7d8b5d7acc93e70584145"><span class="std std-ref">lv_disp_get_layer_top</span></a> </p>
</dd>
</dl>
</p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t9sys_layerE">
<span id="_CPPv3N10_lv_disp_t9sys_layerE"></span><span id="_CPPv2N10_lv_disp_t9sys_layerE"></span><span id="_lv_disp_t::sys_layer___lv_obj_tP"></span><span class="target" id="struct__lv__disp__t_1a6b4790d8da37e46506fa44f1e344c650"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="../widgets/obj.html#_CPPv49_lv_obj_t" title="_lv_obj_t"><span class="n"><span class="pre">_lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">sys_layer</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t9sys_layerE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p><dl class="simple">
<dt><strong>See</strong></dt><dd><p><a class="reference internal" href="../overview/display.html#lv__disp_8h_1ae9a48f536aab873d71c07c313c4e433e"><span class="std std-ref">lv_disp_get_layer_sys</span></a> </p>
</dd>
</dl>
</p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t10screen_cntE">
<span id="_CPPv3N10_lv_disp_t10screen_cntE"></span><span id="_CPPv2N10_lv_disp_t10screen_cntE"></span><span id="_lv_disp_t::screen_cnt__uint32_t"></span><span class="target" id="struct__lv__disp__t_1a9b0e29f211f611b32607c8af55b30c47"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">screen_cnt</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t10screen_cntE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t8del_prevE">
<span id="_CPPv3N10_lv_disp_t8del_prevE"></span><span id="_CPPv2N10_lv_disp_t8del_prevE"></span><span id="_lv_disp_t::del_prev__uint8_t"></span><span class="target" id="struct__lv__disp__t_1a0baab85f68b677246a0be429caaa18c3"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">del_prev</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t8del_prevE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>1: Automatically delete the previous screen when the screen load animation is ready </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t6bg_opaE">
<span id="_CPPv3N10_lv_disp_t6bg_opaE"></span><span id="_CPPv2N10_lv_disp_t6bg_opaE"></span><span id="_lv_disp_t::bg_opa__lv_opa_t"></span><span class="target" id="struct__lv__disp__t_1ab237e70d6d48769e59efd25c0086cce8"></span><span class="n"><span class="pre">lv_opa_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">bg_opa</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t6bg_opaE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Opacity of the background color or wallpaper </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t8bg_colorE">
<span id="_CPPv3N10_lv_disp_t8bg_colorE"></span><span id="_CPPv2N10_lv_disp_t8bg_colorE"></span><span id="_lv_disp_t::bg_color__lv_color_t"></span><span class="target" id="struct__lv__disp__t_1ab53e72a2fd135350fca97392d34aef13"></span><span class="n"><span class="pre">lv_color_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">bg_color</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t8bg_colorE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Default display color when screens are transparent </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t6bg_imgE">
<span id="_CPPv3N10_lv_disp_t6bg_imgE"></span><span id="_CPPv2N10_lv_disp_t6bg_imgE"></span><span id="_lv_disp_t::bg_img__voidCP"></span><span class="target" id="struct__lv__disp__t_1ac24be8f60aabb76d6922ea0cd96c151e"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">bg_img</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t6bg_imgE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>An image source to display as wallpaper </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t9inv_areasE">
<span id="_CPPv3N10_lv_disp_t9inv_areasE"></span><span id="_CPPv2N10_lv_disp_t9inv_areasE"></span><span id="_lv_disp_t::inv_areas__lv_area_tA"></span><span class="target" id="struct__lv__disp__t_1abb3662915362da5728234388d298f7b8"></span><span class="n"><span class="pre">lv_area_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">inv_areas</span></span></span><span class="p"><span class="pre">[</span></span><span class="n"><span class="pre">LV_INV_BUF_SIZE</span></span><span class="p"><span class="pre">]</span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t9inv_areasE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Invalidated (marked to redraw) areas </p>
</dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t15inv_area_joinedE">
<span id="_CPPv3N10_lv_disp_t15inv_area_joinedE"></span><span id="_CPPv2N10_lv_disp_t15inv_area_joinedE"></span><span id="_lv_disp_t::inv_area_joined__uint8_tA"></span><span class="target" id="struct__lv__disp__t_1aa076b7623aa47b6f820b67debeb0282d"></span><span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">inv_area_joined</span></span></span><span class="p"><span class="pre">[</span></span><span class="n"><span class="pre">LV_INV_BUF_SIZE</span></span><span class="p"><span class="pre">]</span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t15inv_area_joinedE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t5inv_pE">
<span id="_CPPv3N10_lv_disp_t5inv_pE"></span><span id="_CPPv2N10_lv_disp_t5inv_pE"></span><span id="_lv_disp_t::inv_p__uint16_t"></span><span class="target" id="struct__lv__disp__t_1a836c66c6db7a9277fce7eaebc9d4d0ce"></span><span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">inv_p</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t5inv_pE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N10_lv_disp_t18last_activity_timeE">
<span id="_CPPv3N10_lv_disp_t18last_activity_timeE"></span><span id="_CPPv2N10_lv_disp_t18last_activity_timeE"></span><span id="_lv_disp_t::last_activity_time__uint32_t"></span><span class="target" id="struct__lv__disp__t_1a7218ab0ed1cf13427681ab492f1411cc"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">last_activity_time</span></span></span><a class="headerlink" href="#_CPPv4N10_lv_disp_t18last_activity_timeE" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Last time when there was activity on this display </p>
</dd></dl>

</div>
</dd></dl>

</div>
</div>


           </div>
           
          </div>
          <footer>
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
        <a href="indev.html" class="btn btn-neutral float-right" title="Input device interface" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
        <a href="project.html" class="btn btn-neutral float-left" title="Set up a project" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
    </div>

  <hr/>

  <div role="contentinfo">
    <p>
        &#169; Copyright 2021, LVGL Kft.
      <span class="lastupdated">
        Last updated on Jan 31, 2022.
      </span>

    </p>
  </div>
    
    
    
    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
    
    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
    
    provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>
        </div>
      </div>

    </section>

  </div>
  

  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
  

<style>
  .wy-side-nav-search > div[role="search"] {
    color: black;
  }
</style>
 <script type="text/javascript">
    $(document).ready(function() {
        $(".toggle > *").hide();
        $(".toggle .header").show();
        $(".toggle .header").click(function() {
            $(this).parent().children().not(".header").toggle(400);
            $(this).parent().children(".header").toggleClass("open");
        })
    });
</script>

<script type="text/javascript">
function add_version_selector()
{
    return fetch("https://raw.githubusercontent.com/lvgl/docs_compiled/gh-pages/versionlist.txt")
        .then(res => res.text())
        .then(text => {
            const versions = text.split("\n").filter(version => version.trim().length > 0);
            let p = document.getElementById("rtd-search-form").parentElement;
            p.innerHTML = `
            <select name="versions" id="versions" onchange="ver_sel()" style="border-radius:5px; margin-bottom:15px">
            ${versions.map(version => {
                let versionName = "";  
                if(version == "master") versionName = "master (latest)";
                else versionName = "v" + ((version.indexOf(".") != -1) ? version : (version + " (latest minor)"));
                return `<option value="${version}">${versionName}</option>`;
            })}
            </select>` + p.innerHTML;
        });
}

function ver_sel()
{
  var x = document.getElementById("versions").value;
  window.location.href = window.location.protocol + "//" + window.location.host + "/" + x + "/";
}

document.addEventListener('DOMContentLoaded', (event) => {
    add_version_selector().then(() => {
        var value = window.location.pathname.split('/')[1];
        document.getElementById("versions").value = value;
    });
    
})
document.addEventListener('DOMContentLoaded', (event) => {
    function onIntersection(entries) {
        entries.forEach(entry => {
            let currentlyLoaded = entry.target.getAttribute("data-is-loaded") == "true";
            let shouldBeLoaded = entry.intersectionRatio > 0;
            if(currentlyLoaded != shouldBeLoaded) {
                entry.target.setAttribute("data-is-loaded", shouldBeLoaded);
                if(shouldBeLoaded) {
                    let iframe = document.createElement("iframe");
                    iframe.src = entry.target.getAttribute("data-real-src");
                    entry.target.appendChild(iframe);
                } else {
                    let iframe = entry.target.querySelector("iframe");
                    iframe.parentNode.removeChild(iframe);
                }
            }
        });
    }
    const config = {
        rootMargin: '600px 0px',
        threshold: 0.01
    };
    let observer = new IntersectionObserver(onIntersection, config);
    document.querySelectorAll(".lv-example").forEach(iframe => {
        observer.observe(iframe);
    });
});
</script>


</body>
</html>